1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* DAG Instruction Selector for the WebAssembly target *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9// *** NOTE: This file is #included into the middle of the target
10// *** instruction selector class. These functions are really methods.
11
12// If GET_DAGISEL_DECL is #defined with any value, only function
13// declarations will be included when this file is included.
14// If GET_DAGISEL_BODY is #defined, its value should be the name of
15// the instruction selector class. Function bodies will be emitted
16// and each function's name will be qualified with the name of the
17// class.
18//
19// When neither of the GET_DAGISEL* macros is defined, the functions
20// are emitted inline.
21
22#if defined(GET_DAGISEL_DECL) && defined(GET_DAGISEL_BODY)
23#error GET_DAGISEL_DECL and GET_DAGISEL_BODY cannot be both defined, undef both for inline definitions
24#endif
25
26#ifdef GET_DAGISEL_BODY
27#define LOCAL_DAGISEL_STRINGIZE(X) LOCAL_DAGISEL_STRINGIZE_(X)
28#define LOCAL_DAGISEL_STRINGIZE_(X) #X
29static_assert(sizeof(LOCAL_DAGISEL_STRINGIZE(GET_DAGISEL_BODY)) > 1,
30 "GET_DAGISEL_BODY is empty: it should be defined with the class name");
31#undef LOCAL_DAGISEL_STRINGIZE_
32#undef LOCAL_DAGISEL_STRINGIZE
33#endif
34
35#if !defined(GET_DAGISEL_DECL) && !defined(GET_DAGISEL_BODY)
36#define DAGISEL_INLINE 1
37#else
38#define DAGISEL_INLINE 0
39#endif
40
41#if !DAGISEL_INLINE
42#define DAGISEL_CLASS_COLONCOLON GET_DAGISEL_BODY ::
43#else
44#define DAGISEL_CLASS_COLONCOLON
45#endif
46
47#ifdef GET_DAGISEL_DECL
48void SelectCode(SDNode *N);
49#endif
50#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
51void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
52{
53 // Some target values are emitted as 2 bytes, TARGET_VAL handles
54 // this.
55 #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
56 static const unsigned char MatcherTable[] = {
57/* 0*/ OPC_SwitchOpcode /*102 cases */, 88|128,102/*13144*/, TARGET_VAL(ISD::AND),// ->13149
58/* 5*/ OPC_Scope, 91, /*->98*/ // 162 children in Scope
59/* 7*/ OPC_CheckAndImm, 127|128,1/*255*/,
60/* 10*/ OPC_MoveChild0,
61/* 11*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
62/* 14*/ OPC_MoveChild0,
63/* 15*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
64/* 18*/ OPC_RecordMemRef,
65/* 19*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
66/* 20*/ OPC_CheckFoldableChainNode,
67/* 21*/ OPC_MoveChild1,
68/* 22*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
69/* 25*/ OPC_RecordChild0, // #1 = $addr
70/* 26*/ OPC_RecordChild1, // #2 = $off
71/* 27*/ OPC_MoveChild1,
72/* 28*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
73/* 31*/ OPC_MoveParent,
74/* 32*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
75/* 34*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->66
76/* 37*/ OPC_MoveParent,
77/* 38*/ OPC_MoveChild2,
78/* 39*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
79/* 42*/ OPC_RecordChild0, // #3 = $val
80/* 43*/ OPC_MoveParent,
81/* 44*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
82/* 46*/ OPC_MoveParent,
83/* 47*/ OPC_MoveParent,
84/* 48*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
85/* 50*/ OPC_EmitMergeInputChains1_0,
86/* 51*/ OPC_EmitInteger, MVT::i32, 0,
87/* 54*/ OPC_EmitConvertToTarget, 2,
88/* 56*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
89 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
90 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 25
91 // Dst: (ATOMIC_RMW8_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
92/* 66*/ /*SwitchType*/ 29, MVT::i64,// ->97
93/* 68*/ OPC_MoveParent,
94/* 69*/ OPC_MoveChild2,
95/* 70*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
96/* 73*/ OPC_RecordChild0, // #3 = $val
97/* 74*/ OPC_MoveParent,
98/* 75*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
99/* 77*/ OPC_MoveParent,
100/* 78*/ OPC_MoveParent,
101/* 79*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
102/* 81*/ OPC_EmitMergeInputChains1_0,
103/* 82*/ OPC_EmitInteger, MVT::i32, 0,
104/* 85*/ OPC_EmitConvertToTarget, 2,
105/* 87*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
106 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
107 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 25
108 // Dst: (ATOMIC_RMW8_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
109/* 97*/ 0, // EndSwitchType
110/* 98*/ /*Scope*/ 92, /*->191*/
111/* 99*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
112/* 103*/ OPC_MoveChild0,
113/* 104*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
114/* 107*/ OPC_MoveChild0,
115/* 108*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
116/* 111*/ OPC_RecordMemRef,
117/* 112*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
118/* 113*/ OPC_CheckFoldableChainNode,
119/* 114*/ OPC_MoveChild1,
120/* 115*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
121/* 118*/ OPC_RecordChild0, // #1 = $addr
122/* 119*/ OPC_RecordChild1, // #2 = $off
123/* 120*/ OPC_MoveChild1,
124/* 121*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
125/* 124*/ OPC_MoveParent,
126/* 125*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
127/* 127*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->159
128/* 130*/ OPC_MoveParent,
129/* 131*/ OPC_MoveChild2,
130/* 132*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
131/* 135*/ OPC_RecordChild0, // #3 = $val
132/* 136*/ OPC_MoveParent,
133/* 137*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
134/* 139*/ OPC_MoveParent,
135/* 140*/ OPC_MoveParent,
136/* 141*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
137/* 143*/ OPC_EmitMergeInputChains1_0,
138/* 144*/ OPC_EmitInteger, MVT::i32, 0,
139/* 147*/ OPC_EmitConvertToTarget, 2,
140/* 149*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
141 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
142 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 25
143 // Dst: (ATOMIC_RMW16_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
144/* 159*/ /*SwitchType*/ 29, MVT::i64,// ->190
145/* 161*/ OPC_MoveParent,
146/* 162*/ OPC_MoveChild2,
147/* 163*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
148/* 166*/ OPC_RecordChild0, // #3 = $val
149/* 167*/ OPC_MoveParent,
150/* 168*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
151/* 170*/ OPC_MoveParent,
152/* 171*/ OPC_MoveParent,
153/* 172*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
154/* 174*/ OPC_EmitMergeInputChains1_0,
155/* 175*/ OPC_EmitInteger, MVT::i32, 0,
156/* 178*/ OPC_EmitConvertToTarget, 2,
157/* 180*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
158 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
159 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 25
160 // Dst: (ATOMIC_RMW16_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
161/* 190*/ 0, // EndSwitchType
162/* 191*/ /*Scope*/ 91, /*->283*/
163/* 192*/ OPC_CheckAndImm, 127|128,1/*255*/,
164/* 195*/ OPC_MoveChild0,
165/* 196*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
166/* 199*/ OPC_MoveChild0,
167/* 200*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
168/* 203*/ OPC_RecordMemRef,
169/* 204*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
170/* 205*/ OPC_CheckFoldableChainNode,
171/* 206*/ OPC_MoveChild1,
172/* 207*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
173/* 210*/ OPC_RecordChild0, // #1 = $addr
174/* 211*/ OPC_RecordChild1, // #2 = $off
175/* 212*/ OPC_MoveChild1,
176/* 213*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
177/* 216*/ OPC_MoveParent,
178/* 217*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
179/* 219*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->251
180/* 222*/ OPC_MoveParent,
181/* 223*/ OPC_MoveChild2,
182/* 224*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
183/* 227*/ OPC_RecordChild0, // #3 = $val
184/* 228*/ OPC_MoveParent,
185/* 229*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
186/* 231*/ OPC_MoveParent,
187/* 232*/ OPC_MoveParent,
188/* 233*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
189/* 235*/ OPC_EmitMergeInputChains1_0,
190/* 236*/ OPC_EmitInteger, MVT::i32, 0,
191/* 239*/ OPC_EmitConvertToTarget, 2,
192/* 241*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
193 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
194 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 25
195 // Dst: (ATOMIC_RMW8_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
196/* 251*/ /*SwitchType*/ 29, MVT::i64,// ->282
197/* 253*/ OPC_MoveParent,
198/* 254*/ OPC_MoveChild2,
199/* 255*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
200/* 258*/ OPC_RecordChild0, // #3 = $val
201/* 259*/ OPC_MoveParent,
202/* 260*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
203/* 262*/ OPC_MoveParent,
204/* 263*/ OPC_MoveParent,
205/* 264*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
206/* 266*/ OPC_EmitMergeInputChains1_0,
207/* 267*/ OPC_EmitInteger, MVT::i32, 0,
208/* 270*/ OPC_EmitConvertToTarget, 2,
209/* 272*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
210 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
211 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 25
212 // Dst: (ATOMIC_RMW8_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
213/* 282*/ 0, // EndSwitchType
214/* 283*/ /*Scope*/ 92, /*->376*/
215/* 284*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
216/* 288*/ OPC_MoveChild0,
217/* 289*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
218/* 292*/ OPC_MoveChild0,
219/* 293*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
220/* 296*/ OPC_RecordMemRef,
221/* 297*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
222/* 298*/ OPC_CheckFoldableChainNode,
223/* 299*/ OPC_MoveChild1,
224/* 300*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
225/* 303*/ OPC_RecordChild0, // #1 = $addr
226/* 304*/ OPC_RecordChild1, // #2 = $off
227/* 305*/ OPC_MoveChild1,
228/* 306*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
229/* 309*/ OPC_MoveParent,
230/* 310*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
231/* 312*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->344
232/* 315*/ OPC_MoveParent,
233/* 316*/ OPC_MoveChild2,
234/* 317*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
235/* 320*/ OPC_RecordChild0, // #3 = $val
236/* 321*/ OPC_MoveParent,
237/* 322*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
238/* 324*/ OPC_MoveParent,
239/* 325*/ OPC_MoveParent,
240/* 326*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
241/* 328*/ OPC_EmitMergeInputChains1_0,
242/* 329*/ OPC_EmitInteger, MVT::i32, 0,
243/* 332*/ OPC_EmitConvertToTarget, 2,
244/* 334*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
245 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
246 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 25
247 // Dst: (ATOMIC_RMW16_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
248/* 344*/ /*SwitchType*/ 29, MVT::i64,// ->375
249/* 346*/ OPC_MoveParent,
250/* 347*/ OPC_MoveChild2,
251/* 348*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
252/* 351*/ OPC_RecordChild0, // #3 = $val
253/* 352*/ OPC_MoveParent,
254/* 353*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
255/* 355*/ OPC_MoveParent,
256/* 356*/ OPC_MoveParent,
257/* 357*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
258/* 359*/ OPC_EmitMergeInputChains1_0,
259/* 360*/ OPC_EmitInteger, MVT::i32, 0,
260/* 363*/ OPC_EmitConvertToTarget, 2,
261/* 365*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
262 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
263 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 25
264 // Dst: (ATOMIC_RMW16_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
265/* 375*/ 0, // EndSwitchType
266/* 376*/ /*Scope*/ 91, /*->468*/
267/* 377*/ OPC_CheckAndImm, 127|128,1/*255*/,
268/* 380*/ OPC_MoveChild0,
269/* 381*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
270/* 384*/ OPC_MoveChild0,
271/* 385*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
272/* 388*/ OPC_RecordMemRef,
273/* 389*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
274/* 390*/ OPC_CheckFoldableChainNode,
275/* 391*/ OPC_MoveChild1,
276/* 392*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
277/* 395*/ OPC_RecordChild0, // #1 = $addr
278/* 396*/ OPC_RecordChild1, // #2 = $off
279/* 397*/ OPC_MoveChild1,
280/* 398*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
281/* 401*/ OPC_MoveParent,
282/* 402*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
283/* 404*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->436
284/* 407*/ OPC_MoveParent,
285/* 408*/ OPC_MoveChild2,
286/* 409*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
287/* 412*/ OPC_RecordChild0, // #3 = $val
288/* 413*/ OPC_MoveParent,
289/* 414*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
290/* 416*/ OPC_MoveParent,
291/* 417*/ OPC_MoveParent,
292/* 418*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
293/* 420*/ OPC_EmitMergeInputChains1_0,
294/* 421*/ OPC_EmitInteger, MVT::i32, 0,
295/* 424*/ OPC_EmitConvertToTarget, 2,
296/* 426*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
297 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
298 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 25
299 // Dst: (ATOMIC_RMW8_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
300/* 436*/ /*SwitchType*/ 29, MVT::i64,// ->467
301/* 438*/ OPC_MoveParent,
302/* 439*/ OPC_MoveChild2,
303/* 440*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
304/* 443*/ OPC_RecordChild0, // #3 = $val
305/* 444*/ OPC_MoveParent,
306/* 445*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
307/* 447*/ OPC_MoveParent,
308/* 448*/ OPC_MoveParent,
309/* 449*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
310/* 451*/ OPC_EmitMergeInputChains1_0,
311/* 452*/ OPC_EmitInteger, MVT::i32, 0,
312/* 455*/ OPC_EmitConvertToTarget, 2,
313/* 457*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
314 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
315 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 25
316 // Dst: (ATOMIC_RMW8_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
317/* 467*/ 0, // EndSwitchType
318/* 468*/ /*Scope*/ 92, /*->561*/
319/* 469*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
320/* 473*/ OPC_MoveChild0,
321/* 474*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
322/* 477*/ OPC_MoveChild0,
323/* 478*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
324/* 481*/ OPC_RecordMemRef,
325/* 482*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
326/* 483*/ OPC_CheckFoldableChainNode,
327/* 484*/ OPC_MoveChild1,
328/* 485*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
329/* 488*/ OPC_RecordChild0, // #1 = $addr
330/* 489*/ OPC_RecordChild1, // #2 = $off
331/* 490*/ OPC_MoveChild1,
332/* 491*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
333/* 494*/ OPC_MoveParent,
334/* 495*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
335/* 497*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->529
336/* 500*/ OPC_MoveParent,
337/* 501*/ OPC_MoveChild2,
338/* 502*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
339/* 505*/ OPC_RecordChild0, // #3 = $val
340/* 506*/ OPC_MoveParent,
341/* 507*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
342/* 509*/ OPC_MoveParent,
343/* 510*/ OPC_MoveParent,
344/* 511*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
345/* 513*/ OPC_EmitMergeInputChains1_0,
346/* 514*/ OPC_EmitInteger, MVT::i32, 0,
347/* 517*/ OPC_EmitConvertToTarget, 2,
348/* 519*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
349 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
350 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 25
351 // Dst: (ATOMIC_RMW16_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
352/* 529*/ /*SwitchType*/ 29, MVT::i64,// ->560
353/* 531*/ OPC_MoveParent,
354/* 532*/ OPC_MoveChild2,
355/* 533*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
356/* 536*/ OPC_RecordChild0, // #3 = $val
357/* 537*/ OPC_MoveParent,
358/* 538*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
359/* 540*/ OPC_MoveParent,
360/* 541*/ OPC_MoveParent,
361/* 542*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
362/* 544*/ OPC_EmitMergeInputChains1_0,
363/* 545*/ OPC_EmitInteger, MVT::i32, 0,
364/* 548*/ OPC_EmitConvertToTarget, 2,
365/* 550*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
366 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
367 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 25
368 // Dst: (ATOMIC_RMW16_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
369/* 560*/ 0, // EndSwitchType
370/* 561*/ /*Scope*/ 91, /*->653*/
371/* 562*/ OPC_CheckAndImm, 127|128,1/*255*/,
372/* 565*/ OPC_MoveChild0,
373/* 566*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
374/* 569*/ OPC_MoveChild0,
375/* 570*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
376/* 573*/ OPC_RecordMemRef,
377/* 574*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
378/* 575*/ OPC_CheckFoldableChainNode,
379/* 576*/ OPC_MoveChild1,
380/* 577*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
381/* 580*/ OPC_RecordChild0, // #1 = $addr
382/* 581*/ OPC_RecordChild1, // #2 = $off
383/* 582*/ OPC_MoveChild1,
384/* 583*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
385/* 586*/ OPC_MoveParent,
386/* 587*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
387/* 589*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->621
388/* 592*/ OPC_MoveParent,
389/* 593*/ OPC_MoveChild2,
390/* 594*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
391/* 597*/ OPC_RecordChild0, // #3 = $val
392/* 598*/ OPC_MoveParent,
393/* 599*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
394/* 601*/ OPC_MoveParent,
395/* 602*/ OPC_MoveParent,
396/* 603*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
397/* 605*/ OPC_EmitMergeInputChains1_0,
398/* 606*/ OPC_EmitInteger, MVT::i32, 0,
399/* 609*/ OPC_EmitConvertToTarget, 2,
400/* 611*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
401 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
402 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 25
403 // Dst: (ATOMIC_RMW8_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
404/* 621*/ /*SwitchType*/ 29, MVT::i64,// ->652
405/* 623*/ OPC_MoveParent,
406/* 624*/ OPC_MoveChild2,
407/* 625*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
408/* 628*/ OPC_RecordChild0, // #3 = $val
409/* 629*/ OPC_MoveParent,
410/* 630*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
411/* 632*/ OPC_MoveParent,
412/* 633*/ OPC_MoveParent,
413/* 634*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
414/* 636*/ OPC_EmitMergeInputChains1_0,
415/* 637*/ OPC_EmitInteger, MVT::i32, 0,
416/* 640*/ OPC_EmitConvertToTarget, 2,
417/* 642*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
418 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
419 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 25
420 // Dst: (ATOMIC_RMW8_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
421/* 652*/ 0, // EndSwitchType
422/* 653*/ /*Scope*/ 92, /*->746*/
423/* 654*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
424/* 658*/ OPC_MoveChild0,
425/* 659*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
426/* 662*/ OPC_MoveChild0,
427/* 663*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
428/* 666*/ OPC_RecordMemRef,
429/* 667*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
430/* 668*/ OPC_CheckFoldableChainNode,
431/* 669*/ OPC_MoveChild1,
432/* 670*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
433/* 673*/ OPC_RecordChild0, // #1 = $addr
434/* 674*/ OPC_RecordChild1, // #2 = $off
435/* 675*/ OPC_MoveChild1,
436/* 676*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
437/* 679*/ OPC_MoveParent,
438/* 680*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
439/* 682*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->714
440/* 685*/ OPC_MoveParent,
441/* 686*/ OPC_MoveChild2,
442/* 687*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
443/* 690*/ OPC_RecordChild0, // #3 = $val
444/* 691*/ OPC_MoveParent,
445/* 692*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
446/* 694*/ OPC_MoveParent,
447/* 695*/ OPC_MoveParent,
448/* 696*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
449/* 698*/ OPC_EmitMergeInputChains1_0,
450/* 699*/ OPC_EmitInteger, MVT::i32, 0,
451/* 702*/ OPC_EmitConvertToTarget, 2,
452/* 704*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
453 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
454 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 25
455 // Dst: (ATOMIC_RMW16_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
456/* 714*/ /*SwitchType*/ 29, MVT::i64,// ->745
457/* 716*/ OPC_MoveParent,
458/* 717*/ OPC_MoveChild2,
459/* 718*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
460/* 721*/ OPC_RecordChild0, // #3 = $val
461/* 722*/ OPC_MoveParent,
462/* 723*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
463/* 725*/ OPC_MoveParent,
464/* 726*/ OPC_MoveParent,
465/* 727*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
466/* 729*/ OPC_EmitMergeInputChains1_0,
467/* 730*/ OPC_EmitInteger, MVT::i32, 0,
468/* 733*/ OPC_EmitConvertToTarget, 2,
469/* 735*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
470 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
471 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 25
472 // Dst: (ATOMIC_RMW16_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
473/* 745*/ 0, // EndSwitchType
474/* 746*/ /*Scope*/ 91, /*->838*/
475/* 747*/ OPC_CheckAndImm, 127|128,1/*255*/,
476/* 750*/ OPC_MoveChild0,
477/* 751*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
478/* 754*/ OPC_MoveChild0,
479/* 755*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
480/* 758*/ OPC_RecordMemRef,
481/* 759*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
482/* 760*/ OPC_CheckFoldableChainNode,
483/* 761*/ OPC_MoveChild1,
484/* 762*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
485/* 765*/ OPC_RecordChild0, // #1 = $addr
486/* 766*/ OPC_RecordChild1, // #2 = $off
487/* 767*/ OPC_MoveChild1,
488/* 768*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
489/* 771*/ OPC_MoveParent,
490/* 772*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
491/* 774*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->806
492/* 777*/ OPC_MoveParent,
493/* 778*/ OPC_MoveChild2,
494/* 779*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
495/* 782*/ OPC_RecordChild0, // #3 = $val
496/* 783*/ OPC_MoveParent,
497/* 784*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
498/* 786*/ OPC_MoveParent,
499/* 787*/ OPC_MoveParent,
500/* 788*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
501/* 790*/ OPC_EmitMergeInputChains1_0,
502/* 791*/ OPC_EmitInteger, MVT::i32, 0,
503/* 794*/ OPC_EmitConvertToTarget, 2,
504/* 796*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
505 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
506 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 25
507 // Dst: (ATOMIC_RMW8_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
508/* 806*/ /*SwitchType*/ 29, MVT::i64,// ->837
509/* 808*/ OPC_MoveParent,
510/* 809*/ OPC_MoveChild2,
511/* 810*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
512/* 813*/ OPC_RecordChild0, // #3 = $val
513/* 814*/ OPC_MoveParent,
514/* 815*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
515/* 817*/ OPC_MoveParent,
516/* 818*/ OPC_MoveParent,
517/* 819*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
518/* 821*/ OPC_EmitMergeInputChains1_0,
519/* 822*/ OPC_EmitInteger, MVT::i32, 0,
520/* 825*/ OPC_EmitConvertToTarget, 2,
521/* 827*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
522 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
523 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 25
524 // Dst: (ATOMIC_RMW8_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
525/* 837*/ 0, // EndSwitchType
526/* 838*/ /*Scope*/ 92, /*->931*/
527/* 839*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
528/* 843*/ OPC_MoveChild0,
529/* 844*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
530/* 847*/ OPC_MoveChild0,
531/* 848*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
532/* 851*/ OPC_RecordMemRef,
533/* 852*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
534/* 853*/ OPC_CheckFoldableChainNode,
535/* 854*/ OPC_MoveChild1,
536/* 855*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
537/* 858*/ OPC_RecordChild0, // #1 = $addr
538/* 859*/ OPC_RecordChild1, // #2 = $off
539/* 860*/ OPC_MoveChild1,
540/* 861*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
541/* 864*/ OPC_MoveParent,
542/* 865*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
543/* 867*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->899
544/* 870*/ OPC_MoveParent,
545/* 871*/ OPC_MoveChild2,
546/* 872*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
547/* 875*/ OPC_RecordChild0, // #3 = $val
548/* 876*/ OPC_MoveParent,
549/* 877*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
550/* 879*/ OPC_MoveParent,
551/* 880*/ OPC_MoveParent,
552/* 881*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
553/* 883*/ OPC_EmitMergeInputChains1_0,
554/* 884*/ OPC_EmitInteger, MVT::i32, 0,
555/* 887*/ OPC_EmitConvertToTarget, 2,
556/* 889*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
557 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
558 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 25
559 // Dst: (ATOMIC_RMW16_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
560/* 899*/ /*SwitchType*/ 29, MVT::i64,// ->930
561/* 901*/ OPC_MoveParent,
562/* 902*/ OPC_MoveChild2,
563/* 903*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
564/* 906*/ OPC_RecordChild0, // #3 = $val
565/* 907*/ OPC_MoveParent,
566/* 908*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
567/* 910*/ OPC_MoveParent,
568/* 911*/ OPC_MoveParent,
569/* 912*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
570/* 914*/ OPC_EmitMergeInputChains1_0,
571/* 915*/ OPC_EmitInteger, MVT::i32, 0,
572/* 918*/ OPC_EmitConvertToTarget, 2,
573/* 920*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
574 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
575 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 25
576 // Dst: (ATOMIC_RMW16_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
577/* 930*/ 0, // EndSwitchType
578/* 931*/ /*Scope*/ 91, /*->1023*/
579/* 932*/ OPC_CheckAndImm, 127|128,1/*255*/,
580/* 935*/ OPC_MoveChild0,
581/* 936*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
582/* 939*/ OPC_MoveChild0,
583/* 940*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
584/* 943*/ OPC_RecordMemRef,
585/* 944*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
586/* 945*/ OPC_CheckFoldableChainNode,
587/* 946*/ OPC_MoveChild1,
588/* 947*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
589/* 950*/ OPC_RecordChild0, // #1 = $addr
590/* 951*/ OPC_RecordChild1, // #2 = $off
591/* 952*/ OPC_MoveChild1,
592/* 953*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
593/* 956*/ OPC_MoveParent,
594/* 957*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
595/* 959*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->991
596/* 962*/ OPC_MoveParent,
597/* 963*/ OPC_MoveChild2,
598/* 964*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
599/* 967*/ OPC_RecordChild0, // #3 = $val
600/* 968*/ OPC_MoveParent,
601/* 969*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
602/* 971*/ OPC_MoveParent,
603/* 972*/ OPC_MoveParent,
604/* 973*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
605/* 975*/ OPC_EmitMergeInputChains1_0,
606/* 976*/ OPC_EmitInteger, MVT::i32, 0,
607/* 979*/ OPC_EmitConvertToTarget, 2,
608/* 981*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
609 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
610 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 25
611 // Dst: (ATOMIC_RMW8_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
612/* 991*/ /*SwitchType*/ 29, MVT::i64,// ->1022
613/* 993*/ OPC_MoveParent,
614/* 994*/ OPC_MoveChild2,
615/* 995*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
616/* 998*/ OPC_RecordChild0, // #3 = $val
617/* 999*/ OPC_MoveParent,
618/* 1000*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
619/* 1002*/ OPC_MoveParent,
620/* 1003*/ OPC_MoveParent,
621/* 1004*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
622/* 1006*/ OPC_EmitMergeInputChains1_0,
623/* 1007*/ OPC_EmitInteger, MVT::i32, 0,
624/* 1010*/ OPC_EmitConvertToTarget, 2,
625/* 1012*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
626 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
627 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 25
628 // Dst: (ATOMIC_RMW8_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
629/* 1022*/ 0, // EndSwitchType
630/* 1023*/ /*Scope*/ 92, /*->1116*/
631/* 1024*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
632/* 1028*/ OPC_MoveChild0,
633/* 1029*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
634/* 1032*/ OPC_MoveChild0,
635/* 1033*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
636/* 1036*/ OPC_RecordMemRef,
637/* 1037*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
638/* 1038*/ OPC_CheckFoldableChainNode,
639/* 1039*/ OPC_MoveChild1,
640/* 1040*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
641/* 1043*/ OPC_RecordChild0, // #1 = $addr
642/* 1044*/ OPC_RecordChild1, // #2 = $off
643/* 1045*/ OPC_MoveChild1,
644/* 1046*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
645/* 1049*/ OPC_MoveParent,
646/* 1050*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
647/* 1052*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->1084
648/* 1055*/ OPC_MoveParent,
649/* 1056*/ OPC_MoveChild2,
650/* 1057*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
651/* 1060*/ OPC_RecordChild0, // #3 = $val
652/* 1061*/ OPC_MoveParent,
653/* 1062*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
654/* 1064*/ OPC_MoveParent,
655/* 1065*/ OPC_MoveParent,
656/* 1066*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
657/* 1068*/ OPC_EmitMergeInputChains1_0,
658/* 1069*/ OPC_EmitInteger, MVT::i32, 0,
659/* 1072*/ OPC_EmitConvertToTarget, 2,
660/* 1074*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
661 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
662 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 25
663 // Dst: (ATOMIC_RMW16_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
664/* 1084*/ /*SwitchType*/ 29, MVT::i64,// ->1115
665/* 1086*/ OPC_MoveParent,
666/* 1087*/ OPC_MoveChild2,
667/* 1088*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
668/* 1091*/ OPC_RecordChild0, // #3 = $val
669/* 1092*/ OPC_MoveParent,
670/* 1093*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
671/* 1095*/ OPC_MoveParent,
672/* 1096*/ OPC_MoveParent,
673/* 1097*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
674/* 1099*/ OPC_EmitMergeInputChains1_0,
675/* 1100*/ OPC_EmitInteger, MVT::i32, 0,
676/* 1103*/ OPC_EmitConvertToTarget, 2,
677/* 1105*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
678 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
679 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 25
680 // Dst: (ATOMIC_RMW16_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
681/* 1115*/ 0, // EndSwitchType
682/* 1116*/ /*Scope*/ 91, /*->1208*/
683/* 1117*/ OPC_CheckAndImm, 127|128,1/*255*/,
684/* 1120*/ OPC_MoveChild0,
685/* 1121*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
686/* 1124*/ OPC_MoveChild0,
687/* 1125*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
688/* 1128*/ OPC_RecordMemRef,
689/* 1129*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
690/* 1130*/ OPC_CheckFoldableChainNode,
691/* 1131*/ OPC_MoveChild1,
692/* 1132*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
693/* 1135*/ OPC_RecordChild0, // #1 = $addr
694/* 1136*/ OPC_RecordChild1, // #2 = $off
695/* 1137*/ OPC_MoveChild1,
696/* 1138*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
697/* 1141*/ OPC_MoveParent,
698/* 1142*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
699/* 1144*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->1176
700/* 1147*/ OPC_MoveParent,
701/* 1148*/ OPC_MoveChild2,
702/* 1149*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
703/* 1152*/ OPC_RecordChild0, // #3 = $val
704/* 1153*/ OPC_MoveParent,
705/* 1154*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
706/* 1156*/ OPC_MoveParent,
707/* 1157*/ OPC_MoveParent,
708/* 1158*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
709/* 1160*/ OPC_EmitMergeInputChains1_0,
710/* 1161*/ OPC_EmitInteger, MVT::i32, 0,
711/* 1164*/ OPC_EmitConvertToTarget, 2,
712/* 1166*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
713 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
714 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 25
715 // Dst: (ATOMIC_RMW8_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
716/* 1176*/ /*SwitchType*/ 29, MVT::i64,// ->1207
717/* 1178*/ OPC_MoveParent,
718/* 1179*/ OPC_MoveChild2,
719/* 1180*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
720/* 1183*/ OPC_RecordChild0, // #3 = $val
721/* 1184*/ OPC_MoveParent,
722/* 1185*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
723/* 1187*/ OPC_MoveParent,
724/* 1188*/ OPC_MoveParent,
725/* 1189*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
726/* 1191*/ OPC_EmitMergeInputChains1_0,
727/* 1192*/ OPC_EmitInteger, MVT::i32, 0,
728/* 1195*/ OPC_EmitConvertToTarget, 2,
729/* 1197*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
730 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
731 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 25
732 // Dst: (ATOMIC_RMW8_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
733/* 1207*/ 0, // EndSwitchType
734/* 1208*/ /*Scope*/ 92, /*->1301*/
735/* 1209*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
736/* 1213*/ OPC_MoveChild0,
737/* 1214*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
738/* 1217*/ OPC_MoveChild0,
739/* 1218*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
740/* 1221*/ OPC_RecordMemRef,
741/* 1222*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
742/* 1223*/ OPC_CheckFoldableChainNode,
743/* 1224*/ OPC_MoveChild1,
744/* 1225*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
745/* 1228*/ OPC_RecordChild0, // #1 = $addr
746/* 1229*/ OPC_RecordChild1, // #2 = $off
747/* 1230*/ OPC_MoveChild1,
748/* 1231*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
749/* 1234*/ OPC_MoveParent,
750/* 1235*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
751/* 1237*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->1269
752/* 1240*/ OPC_MoveParent,
753/* 1241*/ OPC_MoveChild2,
754/* 1242*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
755/* 1245*/ OPC_RecordChild0, // #3 = $val
756/* 1246*/ OPC_MoveParent,
757/* 1247*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
758/* 1249*/ OPC_MoveParent,
759/* 1250*/ OPC_MoveParent,
760/* 1251*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
761/* 1253*/ OPC_EmitMergeInputChains1_0,
762/* 1254*/ OPC_EmitInteger, MVT::i32, 0,
763/* 1257*/ OPC_EmitConvertToTarget, 2,
764/* 1259*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
765 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
766 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 25
767 // Dst: (ATOMIC_RMW16_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
768/* 1269*/ /*SwitchType*/ 29, MVT::i64,// ->1300
769/* 1271*/ OPC_MoveParent,
770/* 1272*/ OPC_MoveChild2,
771/* 1273*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
772/* 1276*/ OPC_RecordChild0, // #3 = $val
773/* 1277*/ OPC_MoveParent,
774/* 1278*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
775/* 1280*/ OPC_MoveParent,
776/* 1281*/ OPC_MoveParent,
777/* 1282*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
778/* 1284*/ OPC_EmitMergeInputChains1_0,
779/* 1285*/ OPC_EmitInteger, MVT::i32, 0,
780/* 1288*/ OPC_EmitConvertToTarget, 2,
781/* 1290*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
782 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
783 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 25
784 // Dst: (ATOMIC_RMW16_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
785/* 1300*/ 0, // EndSwitchType
786/* 1301*/ /*Scope*/ 91, /*->1393*/
787/* 1302*/ OPC_CheckAndImm, 127|128,1/*255*/,
788/* 1305*/ OPC_MoveChild0,
789/* 1306*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
790/* 1309*/ OPC_MoveChild0,
791/* 1310*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
792/* 1313*/ OPC_RecordMemRef,
793/* 1314*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
794/* 1315*/ OPC_CheckFoldableChainNode,
795/* 1316*/ OPC_MoveChild1,
796/* 1317*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
797/* 1320*/ OPC_RecordChild0, // #1 = $addr
798/* 1321*/ OPC_RecordChild1, // #2 = $off
799/* 1322*/ OPC_MoveChild1,
800/* 1323*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
801/* 1326*/ OPC_MoveParent,
802/* 1327*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
803/* 1329*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->1361
804/* 1332*/ OPC_MoveParent,
805/* 1333*/ OPC_MoveChild2,
806/* 1334*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
807/* 1337*/ OPC_RecordChild0, // #3 = $val
808/* 1338*/ OPC_MoveParent,
809/* 1339*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
810/* 1341*/ OPC_MoveParent,
811/* 1342*/ OPC_MoveParent,
812/* 1343*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
813/* 1345*/ OPC_EmitMergeInputChains1_0,
814/* 1346*/ OPC_EmitInteger, MVT::i32, 0,
815/* 1349*/ OPC_EmitConvertToTarget, 2,
816/* 1351*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
817 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
818 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 25
819 // Dst: (ATOMIC_RMW8_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
820/* 1361*/ /*SwitchType*/ 29, MVT::i64,// ->1392
821/* 1363*/ OPC_MoveParent,
822/* 1364*/ OPC_MoveChild2,
823/* 1365*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
824/* 1368*/ OPC_RecordChild0, // #3 = $val
825/* 1369*/ OPC_MoveParent,
826/* 1370*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
827/* 1372*/ OPC_MoveParent,
828/* 1373*/ OPC_MoveParent,
829/* 1374*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
830/* 1376*/ OPC_EmitMergeInputChains1_0,
831/* 1377*/ OPC_EmitInteger, MVT::i32, 0,
832/* 1380*/ OPC_EmitConvertToTarget, 2,
833/* 1382*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
834 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
835 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 25
836 // Dst: (ATOMIC_RMW8_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
837/* 1392*/ 0, // EndSwitchType
838/* 1393*/ /*Scope*/ 92, /*->1486*/
839/* 1394*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
840/* 1398*/ OPC_MoveChild0,
841/* 1399*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
842/* 1402*/ OPC_MoveChild0,
843/* 1403*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
844/* 1406*/ OPC_RecordMemRef,
845/* 1407*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
846/* 1408*/ OPC_CheckFoldableChainNode,
847/* 1409*/ OPC_MoveChild1,
848/* 1410*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
849/* 1413*/ OPC_RecordChild0, // #1 = $addr
850/* 1414*/ OPC_RecordChild1, // #2 = $off
851/* 1415*/ OPC_MoveChild1,
852/* 1416*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
853/* 1419*/ OPC_MoveParent,
854/* 1420*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
855/* 1422*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->1454
856/* 1425*/ OPC_MoveParent,
857/* 1426*/ OPC_MoveChild2,
858/* 1427*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
859/* 1430*/ OPC_RecordChild0, // #3 = $val
860/* 1431*/ OPC_MoveParent,
861/* 1432*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
862/* 1434*/ OPC_MoveParent,
863/* 1435*/ OPC_MoveParent,
864/* 1436*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
865/* 1438*/ OPC_EmitMergeInputChains1_0,
866/* 1439*/ OPC_EmitInteger, MVT::i32, 0,
867/* 1442*/ OPC_EmitConvertToTarget, 2,
868/* 1444*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
869 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
870 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 25
871 // Dst: (ATOMIC_RMW16_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
872/* 1454*/ /*SwitchType*/ 29, MVT::i64,// ->1485
873/* 1456*/ OPC_MoveParent,
874/* 1457*/ OPC_MoveChild2,
875/* 1458*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
876/* 1461*/ OPC_RecordChild0, // #3 = $val
877/* 1462*/ OPC_MoveParent,
878/* 1463*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
879/* 1465*/ OPC_MoveParent,
880/* 1466*/ OPC_MoveParent,
881/* 1467*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
882/* 1469*/ OPC_EmitMergeInputChains1_0,
883/* 1470*/ OPC_EmitInteger, MVT::i32, 0,
884/* 1473*/ OPC_EmitConvertToTarget, 2,
885/* 1475*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
886 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
887 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 25
888 // Dst: (ATOMIC_RMW16_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
889/* 1485*/ 0, // EndSwitchType
890/* 1486*/ /*Scope*/ 91, /*->1578*/
891/* 1487*/ OPC_CheckAndImm, 127|128,1/*255*/,
892/* 1490*/ OPC_MoveChild0,
893/* 1491*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
894/* 1494*/ OPC_MoveChild0,
895/* 1495*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
896/* 1498*/ OPC_RecordMemRef,
897/* 1499*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
898/* 1500*/ OPC_CheckFoldableChainNode,
899/* 1501*/ OPC_MoveChild1,
900/* 1502*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
901/* 1505*/ OPC_RecordChild0, // #1 = $addr
902/* 1506*/ OPC_RecordChild1, // #2 = $off
903/* 1507*/ OPC_MoveChild1,
904/* 1508*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
905/* 1511*/ OPC_MoveParent,
906/* 1512*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
907/* 1514*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->1546
908/* 1517*/ OPC_MoveParent,
909/* 1518*/ OPC_MoveChild2,
910/* 1519*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
911/* 1522*/ OPC_RecordChild0, // #3 = $val
912/* 1523*/ OPC_MoveParent,
913/* 1524*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
914/* 1526*/ OPC_MoveParent,
915/* 1527*/ OPC_MoveParent,
916/* 1528*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
917/* 1530*/ OPC_EmitMergeInputChains1_0,
918/* 1531*/ OPC_EmitInteger, MVT::i32, 0,
919/* 1534*/ OPC_EmitConvertToTarget, 2,
920/* 1536*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
921 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
922 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 25
923 // Dst: (ATOMIC_RMW8_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
924/* 1546*/ /*SwitchType*/ 29, MVT::i64,// ->1577
925/* 1548*/ OPC_MoveParent,
926/* 1549*/ OPC_MoveChild2,
927/* 1550*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
928/* 1553*/ OPC_RecordChild0, // #3 = $val
929/* 1554*/ OPC_MoveParent,
930/* 1555*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
931/* 1557*/ OPC_MoveParent,
932/* 1558*/ OPC_MoveParent,
933/* 1559*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
934/* 1561*/ OPC_EmitMergeInputChains1_0,
935/* 1562*/ OPC_EmitInteger, MVT::i32, 0,
936/* 1565*/ OPC_EmitConvertToTarget, 2,
937/* 1567*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
938 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
939 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 25
940 // Dst: (ATOMIC_RMW8_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
941/* 1577*/ 0, // EndSwitchType
942/* 1578*/ /*Scope*/ 92, /*->1671*/
943/* 1579*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
944/* 1583*/ OPC_MoveChild0,
945/* 1584*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
946/* 1587*/ OPC_MoveChild0,
947/* 1588*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
948/* 1591*/ OPC_RecordMemRef,
949/* 1592*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
950/* 1593*/ OPC_CheckFoldableChainNode,
951/* 1594*/ OPC_MoveChild1,
952/* 1595*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
953/* 1598*/ OPC_RecordChild0, // #1 = $addr
954/* 1599*/ OPC_RecordChild1, // #2 = $off
955/* 1600*/ OPC_MoveChild1,
956/* 1601*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
957/* 1604*/ OPC_MoveParent,
958/* 1605*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
959/* 1607*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->1639
960/* 1610*/ OPC_MoveParent,
961/* 1611*/ OPC_MoveChild2,
962/* 1612*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
963/* 1615*/ OPC_RecordChild0, // #3 = $val
964/* 1616*/ OPC_MoveParent,
965/* 1617*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
966/* 1619*/ OPC_MoveParent,
967/* 1620*/ OPC_MoveParent,
968/* 1621*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
969/* 1623*/ OPC_EmitMergeInputChains1_0,
970/* 1624*/ OPC_EmitInteger, MVT::i32, 0,
971/* 1627*/ OPC_EmitConvertToTarget, 2,
972/* 1629*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
973 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
974 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 25
975 // Dst: (ATOMIC_RMW16_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
976/* 1639*/ /*SwitchType*/ 29, MVT::i64,// ->1670
977/* 1641*/ OPC_MoveParent,
978/* 1642*/ OPC_MoveChild2,
979/* 1643*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
980/* 1646*/ OPC_RecordChild0, // #3 = $val
981/* 1647*/ OPC_MoveParent,
982/* 1648*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
983/* 1650*/ OPC_MoveParent,
984/* 1651*/ OPC_MoveParent,
985/* 1652*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
986/* 1654*/ OPC_EmitMergeInputChains1_0,
987/* 1655*/ OPC_EmitInteger, MVT::i32, 0,
988/* 1658*/ OPC_EmitConvertToTarget, 2,
989/* 1660*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
990 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
991 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 25
992 // Dst: (ATOMIC_RMW16_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
993/* 1670*/ 0, // EndSwitchType
994/* 1671*/ /*Scope*/ 91, /*->1763*/
995/* 1672*/ OPC_CheckAndImm, 127|128,1/*255*/,
996/* 1675*/ OPC_MoveChild0,
997/* 1676*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
998/* 1679*/ OPC_MoveChild0,
999/* 1680*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
1000/* 1683*/ OPC_RecordMemRef,
1001/* 1684*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
1002/* 1685*/ OPC_CheckFoldableChainNode,
1003/* 1686*/ OPC_MoveChild1,
1004/* 1687*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
1005/* 1690*/ OPC_RecordChild0, // #1 = $addr
1006/* 1691*/ OPC_RecordChild1, // #2 = $off
1007/* 1692*/ OPC_MoveChild1,
1008/* 1693*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1009/* 1696*/ OPC_MoveParent,
1010/* 1697*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
1011/* 1699*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->1731
1012/* 1702*/ OPC_MoveParent,
1013/* 1703*/ OPC_MoveChild2,
1014/* 1704*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1015/* 1707*/ OPC_RecordChild0, // #3 = $val
1016/* 1708*/ OPC_MoveParent,
1017/* 1709*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
1018/* 1711*/ OPC_MoveParent,
1019/* 1712*/ OPC_MoveParent,
1020/* 1713*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
1021/* 1715*/ OPC_EmitMergeInputChains1_0,
1022/* 1716*/ OPC_EmitInteger, MVT::i32, 0,
1023/* 1719*/ OPC_EmitConvertToTarget, 2,
1024/* 1721*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1025 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1026 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 25
1027 // Dst: (ATOMIC_RMW8_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1028/* 1731*/ /*SwitchType*/ 29, MVT::i64,// ->1762
1029/* 1733*/ OPC_MoveParent,
1030/* 1734*/ OPC_MoveChild2,
1031/* 1735*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1032/* 1738*/ OPC_RecordChild0, // #3 = $val
1033/* 1739*/ OPC_MoveParent,
1034/* 1740*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
1035/* 1742*/ OPC_MoveParent,
1036/* 1743*/ OPC_MoveParent,
1037/* 1744*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
1038/* 1746*/ OPC_EmitMergeInputChains1_0,
1039/* 1747*/ OPC_EmitInteger, MVT::i32, 0,
1040/* 1750*/ OPC_EmitConvertToTarget, 2,
1041/* 1752*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1042 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1043 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 25
1044 // Dst: (ATOMIC_RMW8_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
1045/* 1762*/ 0, // EndSwitchType
1046/* 1763*/ /*Scope*/ 92, /*->1856*/
1047/* 1764*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1048/* 1768*/ OPC_MoveChild0,
1049/* 1769*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1050/* 1772*/ OPC_MoveChild0,
1051/* 1773*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
1052/* 1776*/ OPC_RecordMemRef,
1053/* 1777*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
1054/* 1778*/ OPC_CheckFoldableChainNode,
1055/* 1779*/ OPC_MoveChild1,
1056/* 1780*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
1057/* 1783*/ OPC_RecordChild0, // #1 = $addr
1058/* 1784*/ OPC_RecordChild1, // #2 = $off
1059/* 1785*/ OPC_MoveChild1,
1060/* 1786*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1061/* 1789*/ OPC_MoveParent,
1062/* 1790*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
1063/* 1792*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->1824
1064/* 1795*/ OPC_MoveParent,
1065/* 1796*/ OPC_MoveChild2,
1066/* 1797*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1067/* 1800*/ OPC_RecordChild0, // #3 = $val
1068/* 1801*/ OPC_MoveParent,
1069/* 1802*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
1070/* 1804*/ OPC_MoveParent,
1071/* 1805*/ OPC_MoveParent,
1072/* 1806*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
1073/* 1808*/ OPC_EmitMergeInputChains1_0,
1074/* 1809*/ OPC_EmitInteger, MVT::i32, 0,
1075/* 1812*/ OPC_EmitConvertToTarget, 2,
1076/* 1814*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1077 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1078 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 25
1079 // Dst: (ATOMIC_RMW16_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1080/* 1824*/ /*SwitchType*/ 29, MVT::i64,// ->1855
1081/* 1826*/ OPC_MoveParent,
1082/* 1827*/ OPC_MoveChild2,
1083/* 1828*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1084/* 1831*/ OPC_RecordChild0, // #3 = $val
1085/* 1832*/ OPC_MoveParent,
1086/* 1833*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
1087/* 1835*/ OPC_MoveParent,
1088/* 1836*/ OPC_MoveParent,
1089/* 1837*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
1090/* 1839*/ OPC_EmitMergeInputChains1_0,
1091/* 1840*/ OPC_EmitInteger, MVT::i32, 0,
1092/* 1843*/ OPC_EmitConvertToTarget, 2,
1093/* 1845*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1094 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1095 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 25
1096 // Dst: (ATOMIC_RMW16_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
1097/* 1855*/ 0, // EndSwitchType
1098/* 1856*/ /*Scope*/ 91, /*->1948*/
1099/* 1857*/ OPC_CheckAndImm, 127|128,1/*255*/,
1100/* 1860*/ OPC_MoveChild0,
1101/* 1861*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1102/* 1864*/ OPC_MoveChild0,
1103/* 1865*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
1104/* 1868*/ OPC_RecordMemRef,
1105/* 1869*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
1106/* 1870*/ OPC_CheckFoldableChainNode,
1107/* 1871*/ OPC_MoveChild1,
1108/* 1872*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1109/* 1875*/ OPC_RecordChild0, // #1 = $addr
1110/* 1876*/ OPC_RecordChild1, // #2 = $off
1111/* 1877*/ OPC_MoveChild1,
1112/* 1878*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1113/* 1881*/ OPC_MoveParent,
1114/* 1882*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
1115/* 1884*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->1916
1116/* 1887*/ OPC_MoveParent,
1117/* 1888*/ OPC_MoveChild2,
1118/* 1889*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1119/* 1892*/ OPC_RecordChild0, // #3 = $val
1120/* 1893*/ OPC_MoveParent,
1121/* 1894*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
1122/* 1896*/ OPC_MoveParent,
1123/* 1897*/ OPC_MoveParent,
1124/* 1898*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
1125/* 1900*/ OPC_EmitMergeInputChains1_0,
1126/* 1901*/ OPC_EmitInteger, MVT::i32, 0,
1127/* 1904*/ OPC_EmitConvertToTarget, 2,
1128/* 1906*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1129 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1130 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 25
1131 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1132/* 1916*/ /*SwitchType*/ 29, MVT::i64,// ->1947
1133/* 1918*/ OPC_MoveParent,
1134/* 1919*/ OPC_MoveChild2,
1135/* 1920*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1136/* 1923*/ OPC_RecordChild0, // #3 = $val
1137/* 1924*/ OPC_MoveParent,
1138/* 1925*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
1139/* 1927*/ OPC_MoveParent,
1140/* 1928*/ OPC_MoveParent,
1141/* 1929*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
1142/* 1931*/ OPC_EmitMergeInputChains1_0,
1143/* 1932*/ OPC_EmitInteger, MVT::i32, 0,
1144/* 1935*/ OPC_EmitConvertToTarget, 2,
1145/* 1937*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1146 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1147 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 25
1148 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
1149/* 1947*/ 0, // EndSwitchType
1150/* 1948*/ /*Scope*/ 92, /*->2041*/
1151/* 1949*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1152/* 1953*/ OPC_MoveChild0,
1153/* 1954*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1154/* 1957*/ OPC_MoveChild0,
1155/* 1958*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
1156/* 1961*/ OPC_RecordMemRef,
1157/* 1962*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
1158/* 1963*/ OPC_CheckFoldableChainNode,
1159/* 1964*/ OPC_MoveChild1,
1160/* 1965*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1161/* 1968*/ OPC_RecordChild0, // #1 = $addr
1162/* 1969*/ OPC_RecordChild1, // #2 = $off
1163/* 1970*/ OPC_MoveChild1,
1164/* 1971*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1165/* 1974*/ OPC_MoveParent,
1166/* 1975*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
1167/* 1977*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->2009
1168/* 1980*/ OPC_MoveParent,
1169/* 1981*/ OPC_MoveChild2,
1170/* 1982*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1171/* 1985*/ OPC_RecordChild0, // #3 = $val
1172/* 1986*/ OPC_MoveParent,
1173/* 1987*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
1174/* 1989*/ OPC_MoveParent,
1175/* 1990*/ OPC_MoveParent,
1176/* 1991*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
1177/* 1993*/ OPC_EmitMergeInputChains1_0,
1178/* 1994*/ OPC_EmitInteger, MVT::i32, 0,
1179/* 1997*/ OPC_EmitConvertToTarget, 2,
1180/* 1999*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1181 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1182 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 25
1183 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1184/* 2009*/ /*SwitchType*/ 29, MVT::i64,// ->2040
1185/* 2011*/ OPC_MoveParent,
1186/* 2012*/ OPC_MoveChild2,
1187/* 2013*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1188/* 2016*/ OPC_RecordChild0, // #3 = $val
1189/* 2017*/ OPC_MoveParent,
1190/* 2018*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
1191/* 2020*/ OPC_MoveParent,
1192/* 2021*/ OPC_MoveParent,
1193/* 2022*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
1194/* 2024*/ OPC_EmitMergeInputChains1_0,
1195/* 2025*/ OPC_EmitInteger, MVT::i32, 0,
1196/* 2028*/ OPC_EmitConvertToTarget, 2,
1197/* 2030*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1198 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1199 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 25
1200 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
1201/* 2040*/ 0, // EndSwitchType
1202/* 2041*/ /*Scope*/ 91, /*->2133*/
1203/* 2042*/ OPC_CheckAndImm, 127|128,1/*255*/,
1204/* 2045*/ OPC_MoveChild0,
1205/* 2046*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1206/* 2049*/ OPC_MoveChild0,
1207/* 2050*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
1208/* 2053*/ OPC_RecordMemRef,
1209/* 2054*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
1210/* 2055*/ OPC_CheckFoldableChainNode,
1211/* 2056*/ OPC_MoveChild1,
1212/* 2057*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
1213/* 2060*/ OPC_RecordChild0, // #1 = $addr
1214/* 2061*/ OPC_RecordChild1, // #2 = $off
1215/* 2062*/ OPC_MoveChild1,
1216/* 2063*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1217/* 2066*/ OPC_MoveParent,
1218/* 2067*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
1219/* 2069*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->2101
1220/* 2072*/ OPC_MoveParent,
1221/* 2073*/ OPC_MoveChild2,
1222/* 2074*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1223/* 2077*/ OPC_RecordChild0, // #3 = $val
1224/* 2078*/ OPC_MoveParent,
1225/* 2079*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
1226/* 2081*/ OPC_MoveParent,
1227/* 2082*/ OPC_MoveParent,
1228/* 2083*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
1229/* 2085*/ OPC_EmitMergeInputChains1_0,
1230/* 2086*/ OPC_EmitInteger, MVT::i32, 0,
1231/* 2089*/ OPC_EmitConvertToTarget, 2,
1232/* 2091*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1233 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1234 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 25
1235 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1236/* 2101*/ /*SwitchType*/ 29, MVT::i64,// ->2132
1237/* 2103*/ OPC_MoveParent,
1238/* 2104*/ OPC_MoveChild2,
1239/* 2105*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1240/* 2108*/ OPC_RecordChild0, // #3 = $val
1241/* 2109*/ OPC_MoveParent,
1242/* 2110*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
1243/* 2112*/ OPC_MoveParent,
1244/* 2113*/ OPC_MoveParent,
1245/* 2114*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
1246/* 2116*/ OPC_EmitMergeInputChains1_0,
1247/* 2117*/ OPC_EmitInteger, MVT::i32, 0,
1248/* 2120*/ OPC_EmitConvertToTarget, 2,
1249/* 2122*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1250 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1251 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 25
1252 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
1253/* 2132*/ 0, // EndSwitchType
1254/* 2133*/ /*Scope*/ 92, /*->2226*/
1255/* 2134*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1256/* 2138*/ OPC_MoveChild0,
1257/* 2139*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1258/* 2142*/ OPC_MoveChild0,
1259/* 2143*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
1260/* 2146*/ OPC_RecordMemRef,
1261/* 2147*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
1262/* 2148*/ OPC_CheckFoldableChainNode,
1263/* 2149*/ OPC_MoveChild1,
1264/* 2150*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
1265/* 2153*/ OPC_RecordChild0, // #1 = $addr
1266/* 2154*/ OPC_RecordChild1, // #2 = $off
1267/* 2155*/ OPC_MoveChild1,
1268/* 2156*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1269/* 2159*/ OPC_MoveParent,
1270/* 2160*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
1271/* 2162*/ OPC_SwitchType /*2 cases */, 29, MVT::i32,// ->2194
1272/* 2165*/ OPC_MoveParent,
1273/* 2166*/ OPC_MoveChild2,
1274/* 2167*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1275/* 2170*/ OPC_RecordChild0, // #3 = $val
1276/* 2171*/ OPC_MoveParent,
1277/* 2172*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
1278/* 2174*/ OPC_MoveParent,
1279/* 2175*/ OPC_MoveParent,
1280/* 2176*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
1281/* 2178*/ OPC_EmitMergeInputChains1_0,
1282/* 2179*/ OPC_EmitInteger, MVT::i32, 0,
1283/* 2182*/ OPC_EmitConvertToTarget, 2,
1284/* 2184*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1285 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1286 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 25
1287 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1288/* 2194*/ /*SwitchType*/ 29, MVT::i64,// ->2225
1289/* 2196*/ OPC_MoveParent,
1290/* 2197*/ OPC_MoveChild2,
1291/* 2198*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1292/* 2201*/ OPC_RecordChild0, // #3 = $val
1293/* 2202*/ OPC_MoveParent,
1294/* 2203*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
1295/* 2205*/ OPC_MoveParent,
1296/* 2206*/ OPC_MoveParent,
1297/* 2207*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
1298/* 2209*/ OPC_EmitMergeInputChains1_0,
1299/* 2210*/ OPC_EmitInteger, MVT::i32, 0,
1300/* 2213*/ OPC_EmitConvertToTarget, 2,
1301/* 2215*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1302 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1303 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 25
1304 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
1305/* 2225*/ 0, // EndSwitchType
1306/* 2226*/ /*Scope*/ 91, /*->2318*/
1307/* 2227*/ OPC_CheckAndImm, 127|128,1/*255*/,
1308/* 2230*/ OPC_MoveChild0,
1309/* 2231*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1310/* 2234*/ OPC_MoveChild0,
1311/* 2235*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
1312/* 2238*/ OPC_RecordMemRef,
1313/* 2239*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
1314/* 2240*/ OPC_CheckFoldableChainNode,
1315/* 2241*/ OPC_MoveChild1,
1316/* 2242*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1317/* 2245*/ OPC_RecordChild0, // #1 = $off
1318/* 2246*/ OPC_MoveChild0,
1319/* 2247*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1320/* 2250*/ OPC_MoveParent,
1321/* 2251*/ OPC_MoveParent,
1322/* 2252*/ OPC_MoveChild2,
1323/* 2253*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1324/* 2256*/ OPC_RecordChild0, // #2 = $val
1325/* 2257*/ OPC_MoveParent,
1326/* 2258*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
1327/* 2260*/ OPC_MoveParent,
1328/* 2261*/ OPC_MoveParent,
1329/* 2262*/ OPC_Scope, 26, /*->2290*/ // 2 children in Scope
1330/* 2264*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1331/* 2266*/ OPC_EmitMergeInputChains1_0,
1332/* 2267*/ OPC_EmitInteger, MVT::i32, 0,
1333/* 2270*/ OPC_EmitInteger, MVT::i32, 0,
1334/* 2273*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
1335 MVT::i32, 1/*#Ops*/, 4, // Results = #5
1336/* 2280*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1337 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1338 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 24
1339 // Dst: (ATOMIC_RMW8_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
1340/* 2290*/ /*Scope*/ 26, /*->2317*/
1341/* 2291*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1342/* 2293*/ OPC_EmitMergeInputChains1_0,
1343/* 2294*/ OPC_EmitInteger, MVT::i32, 0,
1344/* 2297*/ OPC_EmitInteger, MVT::i64, 0,
1345/* 2300*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
1346 MVT::i64, 1/*#Ops*/, 4, // Results = #5
1347/* 2307*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1348 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1349 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 24
1350 // Dst: (ATOMIC_RMW8_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
1351/* 2317*/ 0, /*End of Scope*/
1352/* 2318*/ /*Scope*/ 92, /*->2411*/
1353/* 2319*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1354/* 2323*/ OPC_MoveChild0,
1355/* 2324*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1356/* 2327*/ OPC_MoveChild0,
1357/* 2328*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
1358/* 2331*/ OPC_RecordMemRef,
1359/* 2332*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
1360/* 2333*/ OPC_CheckFoldableChainNode,
1361/* 2334*/ OPC_MoveChild1,
1362/* 2335*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1363/* 2338*/ OPC_RecordChild0, // #1 = $off
1364/* 2339*/ OPC_MoveChild0,
1365/* 2340*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1366/* 2343*/ OPC_MoveParent,
1367/* 2344*/ OPC_MoveParent,
1368/* 2345*/ OPC_MoveChild2,
1369/* 2346*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1370/* 2349*/ OPC_RecordChild0, // #2 = $val
1371/* 2350*/ OPC_MoveParent,
1372/* 2351*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
1373/* 2353*/ OPC_MoveParent,
1374/* 2354*/ OPC_MoveParent,
1375/* 2355*/ OPC_Scope, 26, /*->2383*/ // 2 children in Scope
1376/* 2357*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1377/* 2359*/ OPC_EmitMergeInputChains1_0,
1378/* 2360*/ OPC_EmitInteger, MVT::i32, 0,
1379/* 2363*/ OPC_EmitInteger, MVT::i32, 0,
1380/* 2366*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
1381 MVT::i32, 1/*#Ops*/, 4, // Results = #5
1382/* 2373*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1383 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1384 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 24
1385 // Dst: (ATOMIC_RMW16_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
1386/* 2383*/ /*Scope*/ 26, /*->2410*/
1387/* 2384*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1388/* 2386*/ OPC_EmitMergeInputChains1_0,
1389/* 2387*/ OPC_EmitInteger, MVT::i32, 0,
1390/* 2390*/ OPC_EmitInteger, MVT::i64, 0,
1391/* 2393*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
1392 MVT::i64, 1/*#Ops*/, 4, // Results = #5
1393/* 2400*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1394 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1395 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 24
1396 // Dst: (ATOMIC_RMW16_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
1397/* 2410*/ 0, /*End of Scope*/
1398/* 2411*/ /*Scope*/ 91, /*->2503*/
1399/* 2412*/ OPC_CheckAndImm, 127|128,1/*255*/,
1400/* 2415*/ OPC_MoveChild0,
1401/* 2416*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1402/* 2419*/ OPC_MoveChild0,
1403/* 2420*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
1404/* 2423*/ OPC_RecordMemRef,
1405/* 2424*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
1406/* 2425*/ OPC_CheckFoldableChainNode,
1407/* 2426*/ OPC_MoveChild1,
1408/* 2427*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1409/* 2430*/ OPC_RecordChild0, // #1 = $off
1410/* 2431*/ OPC_MoveChild0,
1411/* 2432*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1412/* 2435*/ OPC_MoveParent,
1413/* 2436*/ OPC_MoveParent,
1414/* 2437*/ OPC_MoveChild2,
1415/* 2438*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1416/* 2441*/ OPC_RecordChild0, // #2 = $val
1417/* 2442*/ OPC_MoveParent,
1418/* 2443*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
1419/* 2445*/ OPC_MoveParent,
1420/* 2446*/ OPC_MoveParent,
1421/* 2447*/ OPC_Scope, 26, /*->2475*/ // 2 children in Scope
1422/* 2449*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1423/* 2451*/ OPC_EmitMergeInputChains1_0,
1424/* 2452*/ OPC_EmitInteger, MVT::i32, 0,
1425/* 2455*/ OPC_EmitInteger, MVT::i32, 0,
1426/* 2458*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
1427 MVT::i32, 1/*#Ops*/, 4, // Results = #5
1428/* 2465*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1429 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1430 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 24
1431 // Dst: (ATOMIC_RMW8_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
1432/* 2475*/ /*Scope*/ 26, /*->2502*/
1433/* 2476*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1434/* 2478*/ OPC_EmitMergeInputChains1_0,
1435/* 2479*/ OPC_EmitInteger, MVT::i32, 0,
1436/* 2482*/ OPC_EmitInteger, MVT::i64, 0,
1437/* 2485*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
1438 MVT::i64, 1/*#Ops*/, 4, // Results = #5
1439/* 2492*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1440 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1441 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 24
1442 // Dst: (ATOMIC_RMW8_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
1443/* 2502*/ 0, /*End of Scope*/
1444/* 2503*/ /*Scope*/ 92, /*->2596*/
1445/* 2504*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1446/* 2508*/ OPC_MoveChild0,
1447/* 2509*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1448/* 2512*/ OPC_MoveChild0,
1449/* 2513*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
1450/* 2516*/ OPC_RecordMemRef,
1451/* 2517*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
1452/* 2518*/ OPC_CheckFoldableChainNode,
1453/* 2519*/ OPC_MoveChild1,
1454/* 2520*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1455/* 2523*/ OPC_RecordChild0, // #1 = $off
1456/* 2524*/ OPC_MoveChild0,
1457/* 2525*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1458/* 2528*/ OPC_MoveParent,
1459/* 2529*/ OPC_MoveParent,
1460/* 2530*/ OPC_MoveChild2,
1461/* 2531*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1462/* 2534*/ OPC_RecordChild0, // #2 = $val
1463/* 2535*/ OPC_MoveParent,
1464/* 2536*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
1465/* 2538*/ OPC_MoveParent,
1466/* 2539*/ OPC_MoveParent,
1467/* 2540*/ OPC_Scope, 26, /*->2568*/ // 2 children in Scope
1468/* 2542*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1469/* 2544*/ OPC_EmitMergeInputChains1_0,
1470/* 2545*/ OPC_EmitInteger, MVT::i32, 0,
1471/* 2548*/ OPC_EmitInteger, MVT::i32, 0,
1472/* 2551*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
1473 MVT::i32, 1/*#Ops*/, 4, // Results = #5
1474/* 2558*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1475 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1476 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 24
1477 // Dst: (ATOMIC_RMW16_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
1478/* 2568*/ /*Scope*/ 26, /*->2595*/
1479/* 2569*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1480/* 2571*/ OPC_EmitMergeInputChains1_0,
1481/* 2572*/ OPC_EmitInteger, MVT::i32, 0,
1482/* 2575*/ OPC_EmitInteger, MVT::i64, 0,
1483/* 2578*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
1484 MVT::i64, 1/*#Ops*/, 4, // Results = #5
1485/* 2585*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1486 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1487 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 24
1488 // Dst: (ATOMIC_RMW16_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
1489/* 2595*/ 0, /*End of Scope*/
1490/* 2596*/ /*Scope*/ 91, /*->2688*/
1491/* 2597*/ OPC_CheckAndImm, 127|128,1/*255*/,
1492/* 2600*/ OPC_MoveChild0,
1493/* 2601*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1494/* 2604*/ OPC_MoveChild0,
1495/* 2605*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
1496/* 2608*/ OPC_RecordMemRef,
1497/* 2609*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
1498/* 2610*/ OPC_CheckFoldableChainNode,
1499/* 2611*/ OPC_MoveChild1,
1500/* 2612*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1501/* 2615*/ OPC_RecordChild0, // #1 = $off
1502/* 2616*/ OPC_MoveChild0,
1503/* 2617*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1504/* 2620*/ OPC_MoveParent,
1505/* 2621*/ OPC_MoveParent,
1506/* 2622*/ OPC_MoveChild2,
1507/* 2623*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1508/* 2626*/ OPC_RecordChild0, // #2 = $val
1509/* 2627*/ OPC_MoveParent,
1510/* 2628*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
1511/* 2630*/ OPC_MoveParent,
1512/* 2631*/ OPC_MoveParent,
1513/* 2632*/ OPC_Scope, 26, /*->2660*/ // 2 children in Scope
1514/* 2634*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1515/* 2636*/ OPC_EmitMergeInputChains1_0,
1516/* 2637*/ OPC_EmitInteger, MVT::i32, 0,
1517/* 2640*/ OPC_EmitInteger, MVT::i32, 0,
1518/* 2643*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
1519 MVT::i32, 1/*#Ops*/, 4, // Results = #5
1520/* 2650*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1521 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1522 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 24
1523 // Dst: (ATOMIC_RMW8_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
1524/* 2660*/ /*Scope*/ 26, /*->2687*/
1525/* 2661*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1526/* 2663*/ OPC_EmitMergeInputChains1_0,
1527/* 2664*/ OPC_EmitInteger, MVT::i32, 0,
1528/* 2667*/ OPC_EmitInteger, MVT::i64, 0,
1529/* 2670*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
1530 MVT::i64, 1/*#Ops*/, 4, // Results = #5
1531/* 2677*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1532 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1533 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 24
1534 // Dst: (ATOMIC_RMW8_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
1535/* 2687*/ 0, /*End of Scope*/
1536/* 2688*/ /*Scope*/ 92, /*->2781*/
1537/* 2689*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1538/* 2693*/ OPC_MoveChild0,
1539/* 2694*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1540/* 2697*/ OPC_MoveChild0,
1541/* 2698*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
1542/* 2701*/ OPC_RecordMemRef,
1543/* 2702*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
1544/* 2703*/ OPC_CheckFoldableChainNode,
1545/* 2704*/ OPC_MoveChild1,
1546/* 2705*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1547/* 2708*/ OPC_RecordChild0, // #1 = $off
1548/* 2709*/ OPC_MoveChild0,
1549/* 2710*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1550/* 2713*/ OPC_MoveParent,
1551/* 2714*/ OPC_MoveParent,
1552/* 2715*/ OPC_MoveChild2,
1553/* 2716*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1554/* 2719*/ OPC_RecordChild0, // #2 = $val
1555/* 2720*/ OPC_MoveParent,
1556/* 2721*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
1557/* 2723*/ OPC_MoveParent,
1558/* 2724*/ OPC_MoveParent,
1559/* 2725*/ OPC_Scope, 26, /*->2753*/ // 2 children in Scope
1560/* 2727*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1561/* 2729*/ OPC_EmitMergeInputChains1_0,
1562/* 2730*/ OPC_EmitInteger, MVT::i32, 0,
1563/* 2733*/ OPC_EmitInteger, MVT::i32, 0,
1564/* 2736*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
1565 MVT::i32, 1/*#Ops*/, 4, // Results = #5
1566/* 2743*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1567 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1568 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 24
1569 // Dst: (ATOMIC_RMW16_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
1570/* 2753*/ /*Scope*/ 26, /*->2780*/
1571/* 2754*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1572/* 2756*/ OPC_EmitMergeInputChains1_0,
1573/* 2757*/ OPC_EmitInteger, MVT::i32, 0,
1574/* 2760*/ OPC_EmitInteger, MVT::i64, 0,
1575/* 2763*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
1576 MVT::i64, 1/*#Ops*/, 4, // Results = #5
1577/* 2770*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1578 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1579 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 24
1580 // Dst: (ATOMIC_RMW16_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
1581/* 2780*/ 0, /*End of Scope*/
1582/* 2781*/ /*Scope*/ 91, /*->2873*/
1583/* 2782*/ OPC_CheckAndImm, 127|128,1/*255*/,
1584/* 2785*/ OPC_MoveChild0,
1585/* 2786*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1586/* 2789*/ OPC_MoveChild0,
1587/* 2790*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
1588/* 2793*/ OPC_RecordMemRef,
1589/* 2794*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
1590/* 2795*/ OPC_CheckFoldableChainNode,
1591/* 2796*/ OPC_MoveChild1,
1592/* 2797*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1593/* 2800*/ OPC_RecordChild0, // #1 = $off
1594/* 2801*/ OPC_MoveChild0,
1595/* 2802*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1596/* 2805*/ OPC_MoveParent,
1597/* 2806*/ OPC_MoveParent,
1598/* 2807*/ OPC_MoveChild2,
1599/* 2808*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1600/* 2811*/ OPC_RecordChild0, // #2 = $val
1601/* 2812*/ OPC_MoveParent,
1602/* 2813*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
1603/* 2815*/ OPC_MoveParent,
1604/* 2816*/ OPC_MoveParent,
1605/* 2817*/ OPC_Scope, 26, /*->2845*/ // 2 children in Scope
1606/* 2819*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1607/* 2821*/ OPC_EmitMergeInputChains1_0,
1608/* 2822*/ OPC_EmitInteger, MVT::i32, 0,
1609/* 2825*/ OPC_EmitInteger, MVT::i32, 0,
1610/* 2828*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
1611 MVT::i32, 1/*#Ops*/, 4, // Results = #5
1612/* 2835*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1613 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1614 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 24
1615 // Dst: (ATOMIC_RMW8_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
1616/* 2845*/ /*Scope*/ 26, /*->2872*/
1617/* 2846*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1618/* 2848*/ OPC_EmitMergeInputChains1_0,
1619/* 2849*/ OPC_EmitInteger, MVT::i32, 0,
1620/* 2852*/ OPC_EmitInteger, MVT::i64, 0,
1621/* 2855*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
1622 MVT::i64, 1/*#Ops*/, 4, // Results = #5
1623/* 2862*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1624 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1625 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 24
1626 // Dst: (ATOMIC_RMW8_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
1627/* 2872*/ 0, /*End of Scope*/
1628/* 2873*/ /*Scope*/ 92, /*->2966*/
1629/* 2874*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1630/* 2878*/ OPC_MoveChild0,
1631/* 2879*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1632/* 2882*/ OPC_MoveChild0,
1633/* 2883*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
1634/* 2886*/ OPC_RecordMemRef,
1635/* 2887*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
1636/* 2888*/ OPC_CheckFoldableChainNode,
1637/* 2889*/ OPC_MoveChild1,
1638/* 2890*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1639/* 2893*/ OPC_RecordChild0, // #1 = $off
1640/* 2894*/ OPC_MoveChild0,
1641/* 2895*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1642/* 2898*/ OPC_MoveParent,
1643/* 2899*/ OPC_MoveParent,
1644/* 2900*/ OPC_MoveChild2,
1645/* 2901*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1646/* 2904*/ OPC_RecordChild0, // #2 = $val
1647/* 2905*/ OPC_MoveParent,
1648/* 2906*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
1649/* 2908*/ OPC_MoveParent,
1650/* 2909*/ OPC_MoveParent,
1651/* 2910*/ OPC_Scope, 26, /*->2938*/ // 2 children in Scope
1652/* 2912*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1653/* 2914*/ OPC_EmitMergeInputChains1_0,
1654/* 2915*/ OPC_EmitInteger, MVT::i32, 0,
1655/* 2918*/ OPC_EmitInteger, MVT::i32, 0,
1656/* 2921*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
1657 MVT::i32, 1/*#Ops*/, 4, // Results = #5
1658/* 2928*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1659 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1660 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 24
1661 // Dst: (ATOMIC_RMW16_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
1662/* 2938*/ /*Scope*/ 26, /*->2965*/
1663/* 2939*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1664/* 2941*/ OPC_EmitMergeInputChains1_0,
1665/* 2942*/ OPC_EmitInteger, MVT::i32, 0,
1666/* 2945*/ OPC_EmitInteger, MVT::i64, 0,
1667/* 2948*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
1668 MVT::i64, 1/*#Ops*/, 4, // Results = #5
1669/* 2955*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1670 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1671 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 24
1672 // Dst: (ATOMIC_RMW16_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
1673/* 2965*/ 0, /*End of Scope*/
1674/* 2966*/ /*Scope*/ 91, /*->3058*/
1675/* 2967*/ OPC_CheckAndImm, 127|128,1/*255*/,
1676/* 2970*/ OPC_MoveChild0,
1677/* 2971*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1678/* 2974*/ OPC_MoveChild0,
1679/* 2975*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
1680/* 2978*/ OPC_RecordMemRef,
1681/* 2979*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
1682/* 2980*/ OPC_CheckFoldableChainNode,
1683/* 2981*/ OPC_MoveChild1,
1684/* 2982*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1685/* 2985*/ OPC_RecordChild0, // #1 = $off
1686/* 2986*/ OPC_MoveChild0,
1687/* 2987*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1688/* 2990*/ OPC_MoveParent,
1689/* 2991*/ OPC_MoveParent,
1690/* 2992*/ OPC_MoveChild2,
1691/* 2993*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1692/* 2996*/ OPC_RecordChild0, // #2 = $val
1693/* 2997*/ OPC_MoveParent,
1694/* 2998*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
1695/* 3000*/ OPC_MoveParent,
1696/* 3001*/ OPC_MoveParent,
1697/* 3002*/ OPC_Scope, 26, /*->3030*/ // 2 children in Scope
1698/* 3004*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1699/* 3006*/ OPC_EmitMergeInputChains1_0,
1700/* 3007*/ OPC_EmitInteger, MVT::i32, 0,
1701/* 3010*/ OPC_EmitInteger, MVT::i32, 0,
1702/* 3013*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
1703 MVT::i32, 1/*#Ops*/, 4, // Results = #5
1704/* 3020*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1705 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1706 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 24
1707 // Dst: (ATOMIC_RMW8_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
1708/* 3030*/ /*Scope*/ 26, /*->3057*/
1709/* 3031*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1710/* 3033*/ OPC_EmitMergeInputChains1_0,
1711/* 3034*/ OPC_EmitInteger, MVT::i32, 0,
1712/* 3037*/ OPC_EmitInteger, MVT::i64, 0,
1713/* 3040*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
1714 MVT::i64, 1/*#Ops*/, 4, // Results = #5
1715/* 3047*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1716 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1717 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 24
1718 // Dst: (ATOMIC_RMW8_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
1719/* 3057*/ 0, /*End of Scope*/
1720/* 3058*/ /*Scope*/ 92, /*->3151*/
1721/* 3059*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1722/* 3063*/ OPC_MoveChild0,
1723/* 3064*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1724/* 3067*/ OPC_MoveChild0,
1725/* 3068*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
1726/* 3071*/ OPC_RecordMemRef,
1727/* 3072*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
1728/* 3073*/ OPC_CheckFoldableChainNode,
1729/* 3074*/ OPC_MoveChild1,
1730/* 3075*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1731/* 3078*/ OPC_RecordChild0, // #1 = $off
1732/* 3079*/ OPC_MoveChild0,
1733/* 3080*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1734/* 3083*/ OPC_MoveParent,
1735/* 3084*/ OPC_MoveParent,
1736/* 3085*/ OPC_MoveChild2,
1737/* 3086*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1738/* 3089*/ OPC_RecordChild0, // #2 = $val
1739/* 3090*/ OPC_MoveParent,
1740/* 3091*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
1741/* 3093*/ OPC_MoveParent,
1742/* 3094*/ OPC_MoveParent,
1743/* 3095*/ OPC_Scope, 26, /*->3123*/ // 2 children in Scope
1744/* 3097*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1745/* 3099*/ OPC_EmitMergeInputChains1_0,
1746/* 3100*/ OPC_EmitInteger, MVT::i32, 0,
1747/* 3103*/ OPC_EmitInteger, MVT::i32, 0,
1748/* 3106*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
1749 MVT::i32, 1/*#Ops*/, 4, // Results = #5
1750/* 3113*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1751 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1752 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 24
1753 // Dst: (ATOMIC_RMW16_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
1754/* 3123*/ /*Scope*/ 26, /*->3150*/
1755/* 3124*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1756/* 3126*/ OPC_EmitMergeInputChains1_0,
1757/* 3127*/ OPC_EmitInteger, MVT::i32, 0,
1758/* 3130*/ OPC_EmitInteger, MVT::i64, 0,
1759/* 3133*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
1760 MVT::i64, 1/*#Ops*/, 4, // Results = #5
1761/* 3140*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1762 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1763 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 24
1764 // Dst: (ATOMIC_RMW16_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
1765/* 3150*/ 0, /*End of Scope*/
1766/* 3151*/ /*Scope*/ 91, /*->3243*/
1767/* 3152*/ OPC_CheckAndImm, 127|128,1/*255*/,
1768/* 3155*/ OPC_MoveChild0,
1769/* 3156*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1770/* 3159*/ OPC_MoveChild0,
1771/* 3160*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
1772/* 3163*/ OPC_RecordMemRef,
1773/* 3164*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
1774/* 3165*/ OPC_CheckFoldableChainNode,
1775/* 3166*/ OPC_MoveChild1,
1776/* 3167*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1777/* 3170*/ OPC_RecordChild0, // #1 = $off
1778/* 3171*/ OPC_MoveChild0,
1779/* 3172*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1780/* 3175*/ OPC_MoveParent,
1781/* 3176*/ OPC_MoveParent,
1782/* 3177*/ OPC_MoveChild2,
1783/* 3178*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1784/* 3181*/ OPC_RecordChild0, // #2 = $val
1785/* 3182*/ OPC_MoveParent,
1786/* 3183*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
1787/* 3185*/ OPC_MoveParent,
1788/* 3186*/ OPC_MoveParent,
1789/* 3187*/ OPC_Scope, 26, /*->3215*/ // 2 children in Scope
1790/* 3189*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1791/* 3191*/ OPC_EmitMergeInputChains1_0,
1792/* 3192*/ OPC_EmitInteger, MVT::i32, 0,
1793/* 3195*/ OPC_EmitInteger, MVT::i32, 0,
1794/* 3198*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
1795 MVT::i32, 1/*#Ops*/, 4, // Results = #5
1796/* 3205*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1797 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1798 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 24
1799 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
1800/* 3215*/ /*Scope*/ 26, /*->3242*/
1801/* 3216*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1802/* 3218*/ OPC_EmitMergeInputChains1_0,
1803/* 3219*/ OPC_EmitInteger, MVT::i32, 0,
1804/* 3222*/ OPC_EmitInteger, MVT::i64, 0,
1805/* 3225*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
1806 MVT::i64, 1/*#Ops*/, 4, // Results = #5
1807/* 3232*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1808 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1809 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 24
1810 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
1811/* 3242*/ 0, /*End of Scope*/
1812/* 3243*/ /*Scope*/ 92, /*->3336*/
1813/* 3244*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1814/* 3248*/ OPC_MoveChild0,
1815/* 3249*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1816/* 3252*/ OPC_MoveChild0,
1817/* 3253*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
1818/* 3256*/ OPC_RecordMemRef,
1819/* 3257*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
1820/* 3258*/ OPC_CheckFoldableChainNode,
1821/* 3259*/ OPC_MoveChild1,
1822/* 3260*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1823/* 3263*/ OPC_RecordChild0, // #1 = $off
1824/* 3264*/ OPC_MoveChild0,
1825/* 3265*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1826/* 3268*/ OPC_MoveParent,
1827/* 3269*/ OPC_MoveParent,
1828/* 3270*/ OPC_MoveChild2,
1829/* 3271*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1830/* 3274*/ OPC_RecordChild0, // #2 = $val
1831/* 3275*/ OPC_MoveParent,
1832/* 3276*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
1833/* 3278*/ OPC_MoveParent,
1834/* 3279*/ OPC_MoveParent,
1835/* 3280*/ OPC_Scope, 26, /*->3308*/ // 2 children in Scope
1836/* 3282*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1837/* 3284*/ OPC_EmitMergeInputChains1_0,
1838/* 3285*/ OPC_EmitInteger, MVT::i32, 0,
1839/* 3288*/ OPC_EmitInteger, MVT::i32, 0,
1840/* 3291*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
1841 MVT::i32, 1/*#Ops*/, 4, // Results = #5
1842/* 3298*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1843 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1844 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 24
1845 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
1846/* 3308*/ /*Scope*/ 26, /*->3335*/
1847/* 3309*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
1848/* 3311*/ OPC_EmitMergeInputChains1_0,
1849/* 3312*/ OPC_EmitInteger, MVT::i32, 0,
1850/* 3315*/ OPC_EmitInteger, MVT::i64, 0,
1851/* 3318*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
1852 MVT::i64, 1/*#Ops*/, 4, // Results = #5
1853/* 3325*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1854 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
1855 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 24
1856 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
1857/* 3335*/ 0, /*End of Scope*/
1858/* 3336*/ /*Scope*/ 77, /*->3414*/
1859/* 3337*/ OPC_CheckAndImm, 127|128,1/*255*/,
1860/* 3340*/ OPC_MoveChild0,
1861/* 3341*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1862/* 3344*/ OPC_MoveChild0,
1863/* 3345*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
1864/* 3348*/ OPC_RecordMemRef,
1865/* 3349*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
1866/* 3350*/ OPC_CheckFoldableChainNode,
1867/* 3351*/ OPC_MoveChild1,
1868/* 3352*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1869/* 3355*/ OPC_RecordChild0, // #1 = $addr
1870/* 3356*/ OPC_RecordChild1, // #2 = $off
1871/* 3357*/ OPC_MoveChild1,
1872/* 3358*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1873/* 3361*/ OPC_MoveParent,
1874/* 3362*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
1875/* 3364*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->3389
1876/* 3367*/ OPC_MoveParent,
1877/* 3368*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
1878/* 3370*/ OPC_MoveParent,
1879/* 3371*/ OPC_MoveParent,
1880/* 3372*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
1881/* 3374*/ OPC_EmitMergeInputChains1_0,
1882/* 3375*/ OPC_EmitInteger, MVT::i32, 0,
1883/* 3378*/ OPC_EmitConvertToTarget, 2,
1884/* 3380*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1885 MVT::i64, 3/*#Ops*/, 3, 4, 1,
1886 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 22
1887 // Dst: (ATOMIC_LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
1888/* 3389*/ /*SwitchType*/ 22, MVT::i64,// ->3413
1889/* 3391*/ OPC_MoveParent,
1890/* 3392*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
1891/* 3394*/ OPC_MoveParent,
1892/* 3395*/ OPC_MoveParent,
1893/* 3396*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
1894/* 3398*/ OPC_EmitMergeInputChains1_0,
1895/* 3399*/ OPC_EmitInteger, MVT::i32, 0,
1896/* 3402*/ OPC_EmitConvertToTarget, 2,
1897/* 3404*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1898 MVT::i64, 3/*#Ops*/, 3, 4, 1,
1899 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 22
1900 // Dst: (ATOMIC_LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
1901/* 3413*/ 0, // EndSwitchType
1902/* 3414*/ /*Scope*/ 78, /*->3493*/
1903/* 3415*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1904/* 3419*/ OPC_MoveChild0,
1905/* 3420*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1906/* 3423*/ OPC_MoveChild0,
1907/* 3424*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
1908/* 3427*/ OPC_RecordMemRef,
1909/* 3428*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
1910/* 3429*/ OPC_CheckFoldableChainNode,
1911/* 3430*/ OPC_MoveChild1,
1912/* 3431*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1913/* 3434*/ OPC_RecordChild0, // #1 = $addr
1914/* 3435*/ OPC_RecordChild1, // #2 = $off
1915/* 3436*/ OPC_MoveChild1,
1916/* 3437*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1917/* 3440*/ OPC_MoveParent,
1918/* 3441*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
1919/* 3443*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->3468
1920/* 3446*/ OPC_MoveParent,
1921/* 3447*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
1922/* 3449*/ OPC_MoveParent,
1923/* 3450*/ OPC_MoveParent,
1924/* 3451*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
1925/* 3453*/ OPC_EmitMergeInputChains1_0,
1926/* 3454*/ OPC_EmitInteger, MVT::i32, 0,
1927/* 3457*/ OPC_EmitConvertToTarget, 2,
1928/* 3459*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1929 MVT::i64, 3/*#Ops*/, 3, 4, 1,
1930 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 22
1931 // Dst: (ATOMIC_LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
1932/* 3468*/ /*SwitchType*/ 22, MVT::i64,// ->3492
1933/* 3470*/ OPC_MoveParent,
1934/* 3471*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
1935/* 3473*/ OPC_MoveParent,
1936/* 3474*/ OPC_MoveParent,
1937/* 3475*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
1938/* 3477*/ OPC_EmitMergeInputChains1_0,
1939/* 3478*/ OPC_EmitInteger, MVT::i32, 0,
1940/* 3481*/ OPC_EmitConvertToTarget, 2,
1941/* 3483*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1942 MVT::i64, 3/*#Ops*/, 3, 4, 1,
1943 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 22
1944 // Dst: (ATOMIC_LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
1945/* 3492*/ 0, // EndSwitchType
1946/* 3493*/ /*Scope*/ 77, /*->3571*/
1947/* 3494*/ OPC_CheckAndImm, 127|128,1/*255*/,
1948/* 3497*/ OPC_MoveChild0,
1949/* 3498*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1950/* 3501*/ OPC_MoveChild0,
1951/* 3502*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
1952/* 3505*/ OPC_RecordMemRef,
1953/* 3506*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
1954/* 3507*/ OPC_CheckFoldableChainNode,
1955/* 3508*/ OPC_MoveChild1,
1956/* 3509*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
1957/* 3512*/ OPC_RecordChild0, // #1 = $addr
1958/* 3513*/ OPC_RecordChild1, // #2 = $off
1959/* 3514*/ OPC_MoveChild1,
1960/* 3515*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1961/* 3518*/ OPC_MoveParent,
1962/* 3519*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
1963/* 3521*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->3546
1964/* 3524*/ OPC_MoveParent,
1965/* 3525*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
1966/* 3527*/ OPC_MoveParent,
1967/* 3528*/ OPC_MoveParent,
1968/* 3529*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
1969/* 3531*/ OPC_EmitMergeInputChains1_0,
1970/* 3532*/ OPC_EmitInteger, MVT::i32, 0,
1971/* 3535*/ OPC_EmitConvertToTarget, 2,
1972/* 3537*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1973 MVT::i64, 3/*#Ops*/, 3, 4, 1,
1974 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 22
1975 // Dst: (ATOMIC_LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
1976/* 3546*/ /*SwitchType*/ 22, MVT::i64,// ->3570
1977/* 3548*/ OPC_MoveParent,
1978/* 3549*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
1979/* 3551*/ OPC_MoveParent,
1980/* 3552*/ OPC_MoveParent,
1981/* 3553*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
1982/* 3555*/ OPC_EmitMergeInputChains1_0,
1983/* 3556*/ OPC_EmitInteger, MVT::i32, 0,
1984/* 3559*/ OPC_EmitConvertToTarget, 2,
1985/* 3561*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1986 MVT::i64, 3/*#Ops*/, 3, 4, 1,
1987 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 22
1988 // Dst: (ATOMIC_LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
1989/* 3570*/ 0, // EndSwitchType
1990/* 3571*/ /*Scope*/ 78, /*->3650*/
1991/* 3572*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1992/* 3576*/ OPC_MoveChild0,
1993/* 3577*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1994/* 3580*/ OPC_MoveChild0,
1995/* 3581*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
1996/* 3584*/ OPC_RecordMemRef,
1997/* 3585*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
1998/* 3586*/ OPC_CheckFoldableChainNode,
1999/* 3587*/ OPC_MoveChild1,
2000/* 3588*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
2001/* 3591*/ OPC_RecordChild0, // #1 = $addr
2002/* 3592*/ OPC_RecordChild1, // #2 = $off
2003/* 3593*/ OPC_MoveChild1,
2004/* 3594*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2005/* 3597*/ OPC_MoveParent,
2006/* 3598*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
2007/* 3600*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->3625
2008/* 3603*/ OPC_MoveParent,
2009/* 3604*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
2010/* 3606*/ OPC_MoveParent,
2011/* 3607*/ OPC_MoveParent,
2012/* 3608*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
2013/* 3610*/ OPC_EmitMergeInputChains1_0,
2014/* 3611*/ OPC_EmitInteger, MVT::i32, 0,
2015/* 3614*/ OPC_EmitConvertToTarget, 2,
2016/* 3616*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2017 MVT::i64, 3/*#Ops*/, 3, 4, 1,
2018 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 22
2019 // Dst: (ATOMIC_LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
2020/* 3625*/ /*SwitchType*/ 22, MVT::i64,// ->3649
2021/* 3627*/ OPC_MoveParent,
2022/* 3628*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
2023/* 3630*/ OPC_MoveParent,
2024/* 3631*/ OPC_MoveParent,
2025/* 3632*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
2026/* 3634*/ OPC_EmitMergeInputChains1_0,
2027/* 3635*/ OPC_EmitInteger, MVT::i32, 0,
2028/* 3638*/ OPC_EmitConvertToTarget, 2,
2029/* 3640*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2030 MVT::i64, 3/*#Ops*/, 3, 4, 1,
2031 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 22
2032 // Dst: (ATOMIC_LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
2033/* 3649*/ 0, // EndSwitchType
2034/* 3650*/ /*Scope*/ 83, /*->3734*/
2035/* 3651*/ OPC_CheckAndImm, 127|128,1/*255*/,
2036/* 3654*/ OPC_MoveChild0,
2037/* 3655*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2038/* 3658*/ OPC_MoveChild0,
2039/* 3659*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
2040/* 3662*/ OPC_RecordMemRef,
2041/* 3663*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
2042/* 3664*/ OPC_CheckFoldableChainNode,
2043/* 3665*/ OPC_MoveChild1,
2044/* 3666*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2045/* 3669*/ OPC_RecordChild0, // #1 = $off
2046/* 3670*/ OPC_MoveChild0,
2047/* 3671*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2048/* 3674*/ OPC_MoveParent,
2049/* 3675*/ OPC_MoveParent,
2050/* 3676*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
2051/* 3678*/ OPC_MoveParent,
2052/* 3679*/ OPC_MoveParent,
2053/* 3680*/ OPC_Scope, 25, /*->3707*/ // 2 children in Scope
2054/* 3682*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
2055/* 3684*/ OPC_EmitMergeInputChains1_0,
2056/* 3685*/ OPC_EmitInteger, MVT::i32, 0,
2057/* 3688*/ OPC_EmitInteger, MVT::i32, 0,
2058/* 3691*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2059 MVT::i32, 1/*#Ops*/, 3, // Results = #4
2060/* 3698*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2061 MVT::i64, 3/*#Ops*/, 2, 1, 4,
2062 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 21
2063 // Dst: (ATOMIC_LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
2064/* 3707*/ /*Scope*/ 25, /*->3733*/
2065/* 3708*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
2066/* 3710*/ OPC_EmitMergeInputChains1_0,
2067/* 3711*/ OPC_EmitInteger, MVT::i32, 0,
2068/* 3714*/ OPC_EmitInteger, MVT::i64, 0,
2069/* 3717*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
2070 MVT::i64, 1/*#Ops*/, 3, // Results = #4
2071/* 3724*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2072 MVT::i64, 3/*#Ops*/, 2, 1, 4,
2073 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 21
2074 // Dst: (ATOMIC_LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
2075/* 3733*/ 0, /*End of Scope*/
2076/* 3734*/ /*Scope*/ 84, /*->3819*/
2077/* 3735*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2078/* 3739*/ OPC_MoveChild0,
2079/* 3740*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2080/* 3743*/ OPC_MoveChild0,
2081/* 3744*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
2082/* 3747*/ OPC_RecordMemRef,
2083/* 3748*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
2084/* 3749*/ OPC_CheckFoldableChainNode,
2085/* 3750*/ OPC_MoveChild1,
2086/* 3751*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2087/* 3754*/ OPC_RecordChild0, // #1 = $off
2088/* 3755*/ OPC_MoveChild0,
2089/* 3756*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2090/* 3759*/ OPC_MoveParent,
2091/* 3760*/ OPC_MoveParent,
2092/* 3761*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
2093/* 3763*/ OPC_MoveParent,
2094/* 3764*/ OPC_MoveParent,
2095/* 3765*/ OPC_Scope, 25, /*->3792*/ // 2 children in Scope
2096/* 3767*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
2097/* 3769*/ OPC_EmitMergeInputChains1_0,
2098/* 3770*/ OPC_EmitInteger, MVT::i32, 0,
2099/* 3773*/ OPC_EmitInteger, MVT::i32, 0,
2100/* 3776*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2101 MVT::i32, 1/*#Ops*/, 3, // Results = #4
2102/* 3783*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2103 MVT::i64, 3/*#Ops*/, 2, 1, 4,
2104 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 21
2105 // Dst: (ATOMIC_LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
2106/* 3792*/ /*Scope*/ 25, /*->3818*/
2107/* 3793*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
2108/* 3795*/ OPC_EmitMergeInputChains1_0,
2109/* 3796*/ OPC_EmitInteger, MVT::i32, 0,
2110/* 3799*/ OPC_EmitInteger, MVT::i64, 0,
2111/* 3802*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
2112 MVT::i64, 1/*#Ops*/, 3, // Results = #4
2113/* 3809*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2114 MVT::i64, 3/*#Ops*/, 2, 1, 4,
2115 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 21
2116 // Dst: (ATOMIC_LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
2117/* 3818*/ 0, /*End of Scope*/
2118/* 3819*/ /*Scope*/ 90, /*->3910*/
2119/* 3820*/ OPC_CheckAndImm, 127|128,1/*255*/,
2120/* 3823*/ OPC_MoveChild0,
2121/* 3824*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2122/* 3827*/ OPC_MoveChild0,
2123/* 3828*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
2124/* 3831*/ OPC_RecordMemRef,
2125/* 3832*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
2126/* 3833*/ OPC_CheckFoldableChainNode,
2127/* 3834*/ OPC_RecordChild1, // #1 = $off
2128/* 3835*/ OPC_MoveChild1,
2129/* 3836*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2130/* 3839*/ OPC_MoveParent,
2131/* 3840*/ OPC_MoveChild2,
2132/* 3841*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2133/* 3844*/ OPC_RecordChild0, // #2 = $val
2134/* 3845*/ OPC_MoveParent,
2135/* 3846*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
2136/* 3848*/ OPC_MoveParent,
2137/* 3849*/ OPC_MoveParent,
2138/* 3850*/ OPC_Scope, 28, /*->3880*/ // 2 children in Scope
2139/* 3852*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2140/* 3854*/ OPC_EmitMergeInputChains1_0,
2141/* 3855*/ OPC_EmitInteger, MVT::i32, 0,
2142/* 3858*/ OPC_EmitConvertToTarget, 1,
2143/* 3860*/ OPC_EmitInteger, MVT::i32, 0,
2144/* 3863*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2145 MVT::i32, 1/*#Ops*/, 5, // Results = #6
2146/* 3870*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2147 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2148 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 21
2149 // Dst: (ATOMIC_RMW8_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2150/* 3880*/ /*Scope*/ 28, /*->3909*/
2151/* 3881*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2152/* 3883*/ OPC_EmitMergeInputChains1_0,
2153/* 3884*/ OPC_EmitInteger, MVT::i32, 0,
2154/* 3887*/ OPC_EmitConvertToTarget, 1,
2155/* 3889*/ OPC_EmitInteger, MVT::i64, 0,
2156/* 3892*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
2157 MVT::i64, 1/*#Ops*/, 5, // Results = #6
2158/* 3899*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2159 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2160 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 21
2161 // Dst: (ATOMIC_RMW8_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
2162/* 3909*/ 0, /*End of Scope*/
2163/* 3910*/ /*Scope*/ 91, /*->4002*/
2164/* 3911*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2165/* 3915*/ OPC_MoveChild0,
2166/* 3916*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2167/* 3919*/ OPC_MoveChild0,
2168/* 3920*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
2169/* 3923*/ OPC_RecordMemRef,
2170/* 3924*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
2171/* 3925*/ OPC_CheckFoldableChainNode,
2172/* 3926*/ OPC_RecordChild1, // #1 = $off
2173/* 3927*/ OPC_MoveChild1,
2174/* 3928*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2175/* 3931*/ OPC_MoveParent,
2176/* 3932*/ OPC_MoveChild2,
2177/* 3933*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2178/* 3936*/ OPC_RecordChild0, // #2 = $val
2179/* 3937*/ OPC_MoveParent,
2180/* 3938*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
2181/* 3940*/ OPC_MoveParent,
2182/* 3941*/ OPC_MoveParent,
2183/* 3942*/ OPC_Scope, 28, /*->3972*/ // 2 children in Scope
2184/* 3944*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2185/* 3946*/ OPC_EmitMergeInputChains1_0,
2186/* 3947*/ OPC_EmitInteger, MVT::i32, 0,
2187/* 3950*/ OPC_EmitConvertToTarget, 1,
2188/* 3952*/ OPC_EmitInteger, MVT::i32, 0,
2189/* 3955*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2190 MVT::i32, 1/*#Ops*/, 5, // Results = #6
2191/* 3962*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2192 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2193 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 21
2194 // Dst: (ATOMIC_RMW16_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2195/* 3972*/ /*Scope*/ 28, /*->4001*/
2196/* 3973*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2197/* 3975*/ OPC_EmitMergeInputChains1_0,
2198/* 3976*/ OPC_EmitInteger, MVT::i32, 0,
2199/* 3979*/ OPC_EmitConvertToTarget, 1,
2200/* 3981*/ OPC_EmitInteger, MVT::i64, 0,
2201/* 3984*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
2202 MVT::i64, 1/*#Ops*/, 5, // Results = #6
2203/* 3991*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2204 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2205 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 21
2206 // Dst: (ATOMIC_RMW16_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
2207/* 4001*/ 0, /*End of Scope*/
2208/* 4002*/ /*Scope*/ 90, /*->4093*/
2209/* 4003*/ OPC_CheckAndImm, 127|128,1/*255*/,
2210/* 4006*/ OPC_MoveChild0,
2211/* 4007*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2212/* 4010*/ OPC_MoveChild0,
2213/* 4011*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
2214/* 4014*/ OPC_RecordMemRef,
2215/* 4015*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
2216/* 4016*/ OPC_CheckFoldableChainNode,
2217/* 4017*/ OPC_RecordChild1, // #1 = $off
2218/* 4018*/ OPC_MoveChild1,
2219/* 4019*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2220/* 4022*/ OPC_MoveParent,
2221/* 4023*/ OPC_MoveChild2,
2222/* 4024*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2223/* 4027*/ OPC_RecordChild0, // #2 = $val
2224/* 4028*/ OPC_MoveParent,
2225/* 4029*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
2226/* 4031*/ OPC_MoveParent,
2227/* 4032*/ OPC_MoveParent,
2228/* 4033*/ OPC_Scope, 28, /*->4063*/ // 2 children in Scope
2229/* 4035*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2230/* 4037*/ OPC_EmitMergeInputChains1_0,
2231/* 4038*/ OPC_EmitInteger, MVT::i32, 0,
2232/* 4041*/ OPC_EmitConvertToTarget, 1,
2233/* 4043*/ OPC_EmitInteger, MVT::i32, 0,
2234/* 4046*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2235 MVT::i32, 1/*#Ops*/, 5, // Results = #6
2236/* 4053*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2237 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2238 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 21
2239 // Dst: (ATOMIC_RMW8_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2240/* 4063*/ /*Scope*/ 28, /*->4092*/
2241/* 4064*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2242/* 4066*/ OPC_EmitMergeInputChains1_0,
2243/* 4067*/ OPC_EmitInteger, MVT::i32, 0,
2244/* 4070*/ OPC_EmitConvertToTarget, 1,
2245/* 4072*/ OPC_EmitInteger, MVT::i64, 0,
2246/* 4075*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
2247 MVT::i64, 1/*#Ops*/, 5, // Results = #6
2248/* 4082*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2249 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2250 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 21
2251 // Dst: (ATOMIC_RMW8_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
2252/* 4092*/ 0, /*End of Scope*/
2253/* 4093*/ /*Scope*/ 91, /*->4185*/
2254/* 4094*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2255/* 4098*/ OPC_MoveChild0,
2256/* 4099*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2257/* 4102*/ OPC_MoveChild0,
2258/* 4103*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
2259/* 4106*/ OPC_RecordMemRef,
2260/* 4107*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
2261/* 4108*/ OPC_CheckFoldableChainNode,
2262/* 4109*/ OPC_RecordChild1, // #1 = $off
2263/* 4110*/ OPC_MoveChild1,
2264/* 4111*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2265/* 4114*/ OPC_MoveParent,
2266/* 4115*/ OPC_MoveChild2,
2267/* 4116*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2268/* 4119*/ OPC_RecordChild0, // #2 = $val
2269/* 4120*/ OPC_MoveParent,
2270/* 4121*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
2271/* 4123*/ OPC_MoveParent,
2272/* 4124*/ OPC_MoveParent,
2273/* 4125*/ OPC_Scope, 28, /*->4155*/ // 2 children in Scope
2274/* 4127*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2275/* 4129*/ OPC_EmitMergeInputChains1_0,
2276/* 4130*/ OPC_EmitInteger, MVT::i32, 0,
2277/* 4133*/ OPC_EmitConvertToTarget, 1,
2278/* 4135*/ OPC_EmitInteger, MVT::i32, 0,
2279/* 4138*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2280 MVT::i32, 1/*#Ops*/, 5, // Results = #6
2281/* 4145*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2282 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2283 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 21
2284 // Dst: (ATOMIC_RMW16_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2285/* 4155*/ /*Scope*/ 28, /*->4184*/
2286/* 4156*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2287/* 4158*/ OPC_EmitMergeInputChains1_0,
2288/* 4159*/ OPC_EmitInteger, MVT::i32, 0,
2289/* 4162*/ OPC_EmitConvertToTarget, 1,
2290/* 4164*/ OPC_EmitInteger, MVT::i64, 0,
2291/* 4167*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
2292 MVT::i64, 1/*#Ops*/, 5, // Results = #6
2293/* 4174*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2294 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2295 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 21
2296 // Dst: (ATOMIC_RMW16_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
2297/* 4184*/ 0, /*End of Scope*/
2298/* 4185*/ /*Scope*/ 90, /*->4276*/
2299/* 4186*/ OPC_CheckAndImm, 127|128,1/*255*/,
2300/* 4189*/ OPC_MoveChild0,
2301/* 4190*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2302/* 4193*/ OPC_MoveChild0,
2303/* 4194*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
2304/* 4197*/ OPC_RecordMemRef,
2305/* 4198*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
2306/* 4199*/ OPC_CheckFoldableChainNode,
2307/* 4200*/ OPC_RecordChild1, // #1 = $off
2308/* 4201*/ OPC_MoveChild1,
2309/* 4202*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2310/* 4205*/ OPC_MoveParent,
2311/* 4206*/ OPC_MoveChild2,
2312/* 4207*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2313/* 4210*/ OPC_RecordChild0, // #2 = $val
2314/* 4211*/ OPC_MoveParent,
2315/* 4212*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
2316/* 4214*/ OPC_MoveParent,
2317/* 4215*/ OPC_MoveParent,
2318/* 4216*/ OPC_Scope, 28, /*->4246*/ // 2 children in Scope
2319/* 4218*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2320/* 4220*/ OPC_EmitMergeInputChains1_0,
2321/* 4221*/ OPC_EmitInteger, MVT::i32, 0,
2322/* 4224*/ OPC_EmitConvertToTarget, 1,
2323/* 4226*/ OPC_EmitInteger, MVT::i32, 0,
2324/* 4229*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2325 MVT::i32, 1/*#Ops*/, 5, // Results = #6
2326/* 4236*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2327 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2328 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 21
2329 // Dst: (ATOMIC_RMW8_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2330/* 4246*/ /*Scope*/ 28, /*->4275*/
2331/* 4247*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2332/* 4249*/ OPC_EmitMergeInputChains1_0,
2333/* 4250*/ OPC_EmitInteger, MVT::i32, 0,
2334/* 4253*/ OPC_EmitConvertToTarget, 1,
2335/* 4255*/ OPC_EmitInteger, MVT::i64, 0,
2336/* 4258*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
2337 MVT::i64, 1/*#Ops*/, 5, // Results = #6
2338/* 4265*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2339 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2340 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 21
2341 // Dst: (ATOMIC_RMW8_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
2342/* 4275*/ 0, /*End of Scope*/
2343/* 4276*/ /*Scope*/ 91, /*->4368*/
2344/* 4277*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2345/* 4281*/ OPC_MoveChild0,
2346/* 4282*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2347/* 4285*/ OPC_MoveChild0,
2348/* 4286*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
2349/* 4289*/ OPC_RecordMemRef,
2350/* 4290*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
2351/* 4291*/ OPC_CheckFoldableChainNode,
2352/* 4292*/ OPC_RecordChild1, // #1 = $off
2353/* 4293*/ OPC_MoveChild1,
2354/* 4294*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2355/* 4297*/ OPC_MoveParent,
2356/* 4298*/ OPC_MoveChild2,
2357/* 4299*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2358/* 4302*/ OPC_RecordChild0, // #2 = $val
2359/* 4303*/ OPC_MoveParent,
2360/* 4304*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
2361/* 4306*/ OPC_MoveParent,
2362/* 4307*/ OPC_MoveParent,
2363/* 4308*/ OPC_Scope, 28, /*->4338*/ // 2 children in Scope
2364/* 4310*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2365/* 4312*/ OPC_EmitMergeInputChains1_0,
2366/* 4313*/ OPC_EmitInteger, MVT::i32, 0,
2367/* 4316*/ OPC_EmitConvertToTarget, 1,
2368/* 4318*/ OPC_EmitInteger, MVT::i32, 0,
2369/* 4321*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2370 MVT::i32, 1/*#Ops*/, 5, // Results = #6
2371/* 4328*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2372 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2373 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 21
2374 // Dst: (ATOMIC_RMW16_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2375/* 4338*/ /*Scope*/ 28, /*->4367*/
2376/* 4339*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2377/* 4341*/ OPC_EmitMergeInputChains1_0,
2378/* 4342*/ OPC_EmitInteger, MVT::i32, 0,
2379/* 4345*/ OPC_EmitConvertToTarget, 1,
2380/* 4347*/ OPC_EmitInteger, MVT::i64, 0,
2381/* 4350*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
2382 MVT::i64, 1/*#Ops*/, 5, // Results = #6
2383/* 4357*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2384 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2385 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 21
2386 // Dst: (ATOMIC_RMW16_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
2387/* 4367*/ 0, /*End of Scope*/
2388/* 4368*/ /*Scope*/ 90, /*->4459*/
2389/* 4369*/ OPC_CheckAndImm, 127|128,1/*255*/,
2390/* 4372*/ OPC_MoveChild0,
2391/* 4373*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2392/* 4376*/ OPC_MoveChild0,
2393/* 4377*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
2394/* 4380*/ OPC_RecordMemRef,
2395/* 4381*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
2396/* 4382*/ OPC_CheckFoldableChainNode,
2397/* 4383*/ OPC_RecordChild1, // #1 = $off
2398/* 4384*/ OPC_MoveChild1,
2399/* 4385*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2400/* 4388*/ OPC_MoveParent,
2401/* 4389*/ OPC_MoveChild2,
2402/* 4390*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2403/* 4393*/ OPC_RecordChild0, // #2 = $val
2404/* 4394*/ OPC_MoveParent,
2405/* 4395*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
2406/* 4397*/ OPC_MoveParent,
2407/* 4398*/ OPC_MoveParent,
2408/* 4399*/ OPC_Scope, 28, /*->4429*/ // 2 children in Scope
2409/* 4401*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2410/* 4403*/ OPC_EmitMergeInputChains1_0,
2411/* 4404*/ OPC_EmitInteger, MVT::i32, 0,
2412/* 4407*/ OPC_EmitConvertToTarget, 1,
2413/* 4409*/ OPC_EmitInteger, MVT::i32, 0,
2414/* 4412*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2415 MVT::i32, 1/*#Ops*/, 5, // Results = #6
2416/* 4419*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2417 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2418 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 21
2419 // Dst: (ATOMIC_RMW8_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2420/* 4429*/ /*Scope*/ 28, /*->4458*/
2421/* 4430*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2422/* 4432*/ OPC_EmitMergeInputChains1_0,
2423/* 4433*/ OPC_EmitInteger, MVT::i32, 0,
2424/* 4436*/ OPC_EmitConvertToTarget, 1,
2425/* 4438*/ OPC_EmitInteger, MVT::i64, 0,
2426/* 4441*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
2427 MVT::i64, 1/*#Ops*/, 5, // Results = #6
2428/* 4448*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2429 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2430 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 21
2431 // Dst: (ATOMIC_RMW8_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
2432/* 4458*/ 0, /*End of Scope*/
2433/* 4459*/ /*Scope*/ 91, /*->4551*/
2434/* 4460*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2435/* 4464*/ OPC_MoveChild0,
2436/* 4465*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2437/* 4468*/ OPC_MoveChild0,
2438/* 4469*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
2439/* 4472*/ OPC_RecordMemRef,
2440/* 4473*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
2441/* 4474*/ OPC_CheckFoldableChainNode,
2442/* 4475*/ OPC_RecordChild1, // #1 = $off
2443/* 4476*/ OPC_MoveChild1,
2444/* 4477*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2445/* 4480*/ OPC_MoveParent,
2446/* 4481*/ OPC_MoveChild2,
2447/* 4482*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2448/* 4485*/ OPC_RecordChild0, // #2 = $val
2449/* 4486*/ OPC_MoveParent,
2450/* 4487*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
2451/* 4489*/ OPC_MoveParent,
2452/* 4490*/ OPC_MoveParent,
2453/* 4491*/ OPC_Scope, 28, /*->4521*/ // 2 children in Scope
2454/* 4493*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2455/* 4495*/ OPC_EmitMergeInputChains1_0,
2456/* 4496*/ OPC_EmitInteger, MVT::i32, 0,
2457/* 4499*/ OPC_EmitConvertToTarget, 1,
2458/* 4501*/ OPC_EmitInteger, MVT::i32, 0,
2459/* 4504*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2460 MVT::i32, 1/*#Ops*/, 5, // Results = #6
2461/* 4511*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2462 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2463 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 21
2464 // Dst: (ATOMIC_RMW16_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2465/* 4521*/ /*Scope*/ 28, /*->4550*/
2466/* 4522*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2467/* 4524*/ OPC_EmitMergeInputChains1_0,
2468/* 4525*/ OPC_EmitInteger, MVT::i32, 0,
2469/* 4528*/ OPC_EmitConvertToTarget, 1,
2470/* 4530*/ OPC_EmitInteger, MVT::i64, 0,
2471/* 4533*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
2472 MVT::i64, 1/*#Ops*/, 5, // Results = #6
2473/* 4540*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2474 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2475 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 21
2476 // Dst: (ATOMIC_RMW16_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
2477/* 4550*/ 0, /*End of Scope*/
2478/* 4551*/ /*Scope*/ 90, /*->4642*/
2479/* 4552*/ OPC_CheckAndImm, 127|128,1/*255*/,
2480/* 4555*/ OPC_MoveChild0,
2481/* 4556*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2482/* 4559*/ OPC_MoveChild0,
2483/* 4560*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
2484/* 4563*/ OPC_RecordMemRef,
2485/* 4564*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
2486/* 4565*/ OPC_CheckFoldableChainNode,
2487/* 4566*/ OPC_RecordChild1, // #1 = $off
2488/* 4567*/ OPC_MoveChild1,
2489/* 4568*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2490/* 4571*/ OPC_MoveParent,
2491/* 4572*/ OPC_MoveChild2,
2492/* 4573*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2493/* 4576*/ OPC_RecordChild0, // #2 = $val
2494/* 4577*/ OPC_MoveParent,
2495/* 4578*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
2496/* 4580*/ OPC_MoveParent,
2497/* 4581*/ OPC_MoveParent,
2498/* 4582*/ OPC_Scope, 28, /*->4612*/ // 2 children in Scope
2499/* 4584*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2500/* 4586*/ OPC_EmitMergeInputChains1_0,
2501/* 4587*/ OPC_EmitInteger, MVT::i32, 0,
2502/* 4590*/ OPC_EmitConvertToTarget, 1,
2503/* 4592*/ OPC_EmitInteger, MVT::i32, 0,
2504/* 4595*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2505 MVT::i32, 1/*#Ops*/, 5, // Results = #6
2506/* 4602*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2507 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2508 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 21
2509 // Dst: (ATOMIC_RMW8_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2510/* 4612*/ /*Scope*/ 28, /*->4641*/
2511/* 4613*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2512/* 4615*/ OPC_EmitMergeInputChains1_0,
2513/* 4616*/ OPC_EmitInteger, MVT::i32, 0,
2514/* 4619*/ OPC_EmitConvertToTarget, 1,
2515/* 4621*/ OPC_EmitInteger, MVT::i64, 0,
2516/* 4624*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
2517 MVT::i64, 1/*#Ops*/, 5, // Results = #6
2518/* 4631*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2519 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2520 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 21
2521 // Dst: (ATOMIC_RMW8_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
2522/* 4641*/ 0, /*End of Scope*/
2523/* 4642*/ /*Scope*/ 91, /*->4734*/
2524/* 4643*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2525/* 4647*/ OPC_MoveChild0,
2526/* 4648*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2527/* 4651*/ OPC_MoveChild0,
2528/* 4652*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
2529/* 4655*/ OPC_RecordMemRef,
2530/* 4656*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
2531/* 4657*/ OPC_CheckFoldableChainNode,
2532/* 4658*/ OPC_RecordChild1, // #1 = $off
2533/* 4659*/ OPC_MoveChild1,
2534/* 4660*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2535/* 4663*/ OPC_MoveParent,
2536/* 4664*/ OPC_MoveChild2,
2537/* 4665*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2538/* 4668*/ OPC_RecordChild0, // #2 = $val
2539/* 4669*/ OPC_MoveParent,
2540/* 4670*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
2541/* 4672*/ OPC_MoveParent,
2542/* 4673*/ OPC_MoveParent,
2543/* 4674*/ OPC_Scope, 28, /*->4704*/ // 2 children in Scope
2544/* 4676*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2545/* 4678*/ OPC_EmitMergeInputChains1_0,
2546/* 4679*/ OPC_EmitInteger, MVT::i32, 0,
2547/* 4682*/ OPC_EmitConvertToTarget, 1,
2548/* 4684*/ OPC_EmitInteger, MVT::i32, 0,
2549/* 4687*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2550 MVT::i32, 1/*#Ops*/, 5, // Results = #6
2551/* 4694*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2552 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2553 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 21
2554 // Dst: (ATOMIC_RMW16_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2555/* 4704*/ /*Scope*/ 28, /*->4733*/
2556/* 4705*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2557/* 4707*/ OPC_EmitMergeInputChains1_0,
2558/* 4708*/ OPC_EmitInteger, MVT::i32, 0,
2559/* 4711*/ OPC_EmitConvertToTarget, 1,
2560/* 4713*/ OPC_EmitInteger, MVT::i64, 0,
2561/* 4716*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
2562 MVT::i64, 1/*#Ops*/, 5, // Results = #6
2563/* 4723*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2564 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2565 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 21
2566 // Dst: (ATOMIC_RMW16_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
2567/* 4733*/ 0, /*End of Scope*/
2568/* 4734*/ /*Scope*/ 90, /*->4825*/
2569/* 4735*/ OPC_CheckAndImm, 127|128,1/*255*/,
2570/* 4738*/ OPC_MoveChild0,
2571/* 4739*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2572/* 4742*/ OPC_MoveChild0,
2573/* 4743*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
2574/* 4746*/ OPC_RecordMemRef,
2575/* 4747*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
2576/* 4748*/ OPC_CheckFoldableChainNode,
2577/* 4749*/ OPC_RecordChild1, // #1 = $off
2578/* 4750*/ OPC_MoveChild1,
2579/* 4751*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2580/* 4754*/ OPC_MoveParent,
2581/* 4755*/ OPC_MoveChild2,
2582/* 4756*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2583/* 4759*/ OPC_RecordChild0, // #2 = $val
2584/* 4760*/ OPC_MoveParent,
2585/* 4761*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
2586/* 4763*/ OPC_MoveParent,
2587/* 4764*/ OPC_MoveParent,
2588/* 4765*/ OPC_Scope, 28, /*->4795*/ // 2 children in Scope
2589/* 4767*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2590/* 4769*/ OPC_EmitMergeInputChains1_0,
2591/* 4770*/ OPC_EmitInteger, MVT::i32, 0,
2592/* 4773*/ OPC_EmitConvertToTarget, 1,
2593/* 4775*/ OPC_EmitInteger, MVT::i32, 0,
2594/* 4778*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2595 MVT::i32, 1/*#Ops*/, 5, // Results = #6
2596/* 4785*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2597 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2598 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 21
2599 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2600/* 4795*/ /*Scope*/ 28, /*->4824*/
2601/* 4796*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2602/* 4798*/ OPC_EmitMergeInputChains1_0,
2603/* 4799*/ OPC_EmitInteger, MVT::i32, 0,
2604/* 4802*/ OPC_EmitConvertToTarget, 1,
2605/* 4804*/ OPC_EmitInteger, MVT::i64, 0,
2606/* 4807*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
2607 MVT::i64, 1/*#Ops*/, 5, // Results = #6
2608/* 4814*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2609 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2610 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 21
2611 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
2612/* 4824*/ 0, /*End of Scope*/
2613/* 4825*/ /*Scope*/ 91, /*->4917*/
2614/* 4826*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2615/* 4830*/ OPC_MoveChild0,
2616/* 4831*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2617/* 4834*/ OPC_MoveChild0,
2618/* 4835*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
2619/* 4838*/ OPC_RecordMemRef,
2620/* 4839*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
2621/* 4840*/ OPC_CheckFoldableChainNode,
2622/* 4841*/ OPC_RecordChild1, // #1 = $off
2623/* 4842*/ OPC_MoveChild1,
2624/* 4843*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2625/* 4846*/ OPC_MoveParent,
2626/* 4847*/ OPC_MoveChild2,
2627/* 4848*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2628/* 4851*/ OPC_RecordChild0, // #2 = $val
2629/* 4852*/ OPC_MoveParent,
2630/* 4853*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
2631/* 4855*/ OPC_MoveParent,
2632/* 4856*/ OPC_MoveParent,
2633/* 4857*/ OPC_Scope, 28, /*->4887*/ // 2 children in Scope
2634/* 4859*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2635/* 4861*/ OPC_EmitMergeInputChains1_0,
2636/* 4862*/ OPC_EmitInteger, MVT::i32, 0,
2637/* 4865*/ OPC_EmitConvertToTarget, 1,
2638/* 4867*/ OPC_EmitInteger, MVT::i32, 0,
2639/* 4870*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2640 MVT::i32, 1/*#Ops*/, 5, // Results = #6
2641/* 4877*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2642 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2643 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 21
2644 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2645/* 4887*/ /*Scope*/ 28, /*->4916*/
2646/* 4888*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2647/* 4890*/ OPC_EmitMergeInputChains1_0,
2648/* 4891*/ OPC_EmitInteger, MVT::i32, 0,
2649/* 4894*/ OPC_EmitConvertToTarget, 1,
2650/* 4896*/ OPC_EmitInteger, MVT::i64, 0,
2651/* 4899*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
2652 MVT::i64, 1/*#Ops*/, 5, // Results = #6
2653/* 4906*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2654 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
2655 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 21
2656 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
2657/* 4916*/ 0, /*End of Scope*/
2658/* 4917*/ /*Scope*/ 75, /*->4993*/
2659/* 4918*/ OPC_CheckAndImm, 127|128,1/*255*/,
2660/* 4921*/ OPC_MoveChild0,
2661/* 4922*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
2662/* 4925*/ OPC_RecordMemRef,
2663/* 4926*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
2664/* 4927*/ OPC_CheckFoldableChainNode,
2665/* 4928*/ OPC_MoveChild1,
2666/* 4929*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2667/* 4932*/ OPC_RecordChild0, // #1 = $addr
2668/* 4933*/ OPC_RecordChild1, // #2 = $off
2669/* 4934*/ OPC_MoveChild1,
2670/* 4935*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2671/* 4938*/ OPC_MoveParent,
2672/* 4939*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
2673/* 4941*/ OPC_SwitchType /*2 cases */, 23, MVT::i32,// ->4967
2674/* 4944*/ OPC_MoveParent,
2675/* 4945*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
2676/* 4947*/ OPC_MoveParent,
2677/* 4948*/ OPC_CheckType, MVT::i32,
2678/* 4950*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
2679/* 4952*/ OPC_EmitMergeInputChains1_0,
2680/* 4953*/ OPC_EmitInteger, MVT::i32, 0,
2681/* 4956*/ OPC_EmitConvertToTarget, 2,
2682/* 4958*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2683 MVT::i32, 3/*#Ops*/, 3, 4, 1,
2684 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 19
2685 // Dst: (ATOMIC_LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
2686/* 4967*/ /*SwitchType*/ 23, MVT::i64,// ->4992
2687/* 4969*/ OPC_MoveParent,
2688/* 4970*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
2689/* 4972*/ OPC_MoveParent,
2690/* 4973*/ OPC_CheckType, MVT::i32,
2691/* 4975*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
2692/* 4977*/ OPC_EmitMergeInputChains1_0,
2693/* 4978*/ OPC_EmitInteger, MVT::i32, 0,
2694/* 4981*/ OPC_EmitConvertToTarget, 2,
2695/* 4983*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2696 MVT::i32, 3/*#Ops*/, 3, 4, 1,
2697 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 19
2698 // Dst: (ATOMIC_LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
2699/* 4992*/ 0, // EndSwitchType
2700/* 4993*/ /*Scope*/ 76, /*->5070*/
2701/* 4994*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2702/* 4998*/ OPC_MoveChild0,
2703/* 4999*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
2704/* 5002*/ OPC_RecordMemRef,
2705/* 5003*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
2706/* 5004*/ OPC_CheckFoldableChainNode,
2707/* 5005*/ OPC_MoveChild1,
2708/* 5006*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2709/* 5009*/ OPC_RecordChild0, // #1 = $addr
2710/* 5010*/ OPC_RecordChild1, // #2 = $off
2711/* 5011*/ OPC_MoveChild1,
2712/* 5012*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2713/* 5015*/ OPC_MoveParent,
2714/* 5016*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
2715/* 5018*/ OPC_SwitchType /*2 cases */, 23, MVT::i32,// ->5044
2716/* 5021*/ OPC_MoveParent,
2717/* 5022*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
2718/* 5024*/ OPC_MoveParent,
2719/* 5025*/ OPC_CheckType, MVT::i32,
2720/* 5027*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
2721/* 5029*/ OPC_EmitMergeInputChains1_0,
2722/* 5030*/ OPC_EmitInteger, MVT::i32, 0,
2723/* 5033*/ OPC_EmitConvertToTarget, 2,
2724/* 5035*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2725 MVT::i32, 3/*#Ops*/, 3, 4, 1,
2726 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 19
2727 // Dst: (ATOMIC_LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
2728/* 5044*/ /*SwitchType*/ 23, MVT::i64,// ->5069
2729/* 5046*/ OPC_MoveParent,
2730/* 5047*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
2731/* 5049*/ OPC_MoveParent,
2732/* 5050*/ OPC_CheckType, MVT::i32,
2733/* 5052*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
2734/* 5054*/ OPC_EmitMergeInputChains1_0,
2735/* 5055*/ OPC_EmitInteger, MVT::i32, 0,
2736/* 5058*/ OPC_EmitConvertToTarget, 2,
2737/* 5060*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2738 MVT::i32, 3/*#Ops*/, 3, 4, 1,
2739 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 19
2740 // Dst: (ATOMIC_LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
2741/* 5069*/ 0, // EndSwitchType
2742/* 5070*/ /*Scope*/ 75, /*->5146*/
2743/* 5071*/ OPC_CheckAndImm, 127|128,1/*255*/,
2744/* 5074*/ OPC_MoveChild0,
2745/* 5075*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
2746/* 5078*/ OPC_RecordMemRef,
2747/* 5079*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
2748/* 5080*/ OPC_CheckFoldableChainNode,
2749/* 5081*/ OPC_MoveChild1,
2750/* 5082*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
2751/* 5085*/ OPC_RecordChild0, // #1 = $addr
2752/* 5086*/ OPC_RecordChild1, // #2 = $off
2753/* 5087*/ OPC_MoveChild1,
2754/* 5088*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2755/* 5091*/ OPC_MoveParent,
2756/* 5092*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
2757/* 5094*/ OPC_SwitchType /*2 cases */, 23, MVT::i32,// ->5120
2758/* 5097*/ OPC_MoveParent,
2759/* 5098*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
2760/* 5100*/ OPC_MoveParent,
2761/* 5101*/ OPC_CheckType, MVT::i32,
2762/* 5103*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
2763/* 5105*/ OPC_EmitMergeInputChains1_0,
2764/* 5106*/ OPC_EmitInteger, MVT::i32, 0,
2765/* 5109*/ OPC_EmitConvertToTarget, 2,
2766/* 5111*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2767 MVT::i32, 3/*#Ops*/, 3, 4, 1,
2768 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 19
2769 // Dst: (ATOMIC_LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
2770/* 5120*/ /*SwitchType*/ 23, MVT::i64,// ->5145
2771/* 5122*/ OPC_MoveParent,
2772/* 5123*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
2773/* 5125*/ OPC_MoveParent,
2774/* 5126*/ OPC_CheckType, MVT::i32,
2775/* 5128*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
2776/* 5130*/ OPC_EmitMergeInputChains1_0,
2777/* 5131*/ OPC_EmitInteger, MVT::i32, 0,
2778/* 5134*/ OPC_EmitConvertToTarget, 2,
2779/* 5136*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2780 MVT::i32, 3/*#Ops*/, 3, 4, 1,
2781 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 19
2782 // Dst: (ATOMIC_LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
2783/* 5145*/ 0, // EndSwitchType
2784/* 5146*/ /*Scope*/ 76, /*->5223*/
2785/* 5147*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2786/* 5151*/ OPC_MoveChild0,
2787/* 5152*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
2788/* 5155*/ OPC_RecordMemRef,
2789/* 5156*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
2790/* 5157*/ OPC_CheckFoldableChainNode,
2791/* 5158*/ OPC_MoveChild1,
2792/* 5159*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
2793/* 5162*/ OPC_RecordChild0, // #1 = $addr
2794/* 5163*/ OPC_RecordChild1, // #2 = $off
2795/* 5164*/ OPC_MoveChild1,
2796/* 5165*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2797/* 5168*/ OPC_MoveParent,
2798/* 5169*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
2799/* 5171*/ OPC_SwitchType /*2 cases */, 23, MVT::i32,// ->5197
2800/* 5174*/ OPC_MoveParent,
2801/* 5175*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
2802/* 5177*/ OPC_MoveParent,
2803/* 5178*/ OPC_CheckType, MVT::i32,
2804/* 5180*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
2805/* 5182*/ OPC_EmitMergeInputChains1_0,
2806/* 5183*/ OPC_EmitInteger, MVT::i32, 0,
2807/* 5186*/ OPC_EmitConvertToTarget, 2,
2808/* 5188*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2809 MVT::i32, 3/*#Ops*/, 3, 4, 1,
2810 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 19
2811 // Dst: (ATOMIC_LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
2812/* 5197*/ /*SwitchType*/ 23, MVT::i64,// ->5222
2813/* 5199*/ OPC_MoveParent,
2814/* 5200*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
2815/* 5202*/ OPC_MoveParent,
2816/* 5203*/ OPC_CheckType, MVT::i32,
2817/* 5205*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
2818/* 5207*/ OPC_EmitMergeInputChains1_0,
2819/* 5208*/ OPC_EmitInteger, MVT::i32, 0,
2820/* 5211*/ OPC_EmitConvertToTarget, 2,
2821/* 5213*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2822 MVT::i32, 3/*#Ops*/, 3, 4, 1,
2823 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 19
2824 // Dst: (ATOMIC_LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
2825/* 5222*/ 0, // EndSwitchType
2826/* 5223*/ /*Scope*/ 79, /*->5303*/
2827/* 5224*/ OPC_CheckAndImm, 127|128,1/*255*/,
2828/* 5227*/ OPC_MoveChild0,
2829/* 5228*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
2830/* 5231*/ OPC_RecordMemRef,
2831/* 5232*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
2832/* 5233*/ OPC_CheckFoldableChainNode,
2833/* 5234*/ OPC_MoveChild1,
2834/* 5235*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2835/* 5238*/ OPC_RecordChild0, // #1 = $addr
2836/* 5239*/ OPC_RecordChild1, // #2 = $off
2837/* 5240*/ OPC_MoveChild1,
2838/* 5241*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2839/* 5244*/ OPC_MoveParent,
2840/* 5245*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
2841/* 5247*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->5275
2842/* 5250*/ OPC_MoveParent,
2843/* 5251*/ OPC_RecordChild2, // #3 = $val
2844/* 5252*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
2845/* 5254*/ OPC_MoveParent,
2846/* 5255*/ OPC_CheckType, MVT::i32,
2847/* 5257*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2848/* 5259*/ OPC_EmitMergeInputChains1_0,
2849/* 5260*/ OPC_EmitInteger, MVT::i32, 0,
2850/* 5263*/ OPC_EmitConvertToTarget, 2,
2851/* 5265*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2852 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
2853 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 19
2854 // Dst: (ATOMIC_RMW8_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
2855/* 5275*/ /*SwitchType*/ 25, MVT::i64,// ->5302
2856/* 5277*/ OPC_MoveParent,
2857/* 5278*/ OPC_RecordChild2, // #3 = $val
2858/* 5279*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
2859/* 5281*/ OPC_MoveParent,
2860/* 5282*/ OPC_CheckType, MVT::i32,
2861/* 5284*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2862/* 5286*/ OPC_EmitMergeInputChains1_0,
2863/* 5287*/ OPC_EmitInteger, MVT::i32, 0,
2864/* 5290*/ OPC_EmitConvertToTarget, 2,
2865/* 5292*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2866 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
2867 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 19
2868 // Dst: (ATOMIC_RMW8_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
2869/* 5302*/ 0, // EndSwitchType
2870/* 5303*/ /*Scope*/ 80, /*->5384*/
2871/* 5304*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2872/* 5308*/ OPC_MoveChild0,
2873/* 5309*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
2874/* 5312*/ OPC_RecordMemRef,
2875/* 5313*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
2876/* 5314*/ OPC_CheckFoldableChainNode,
2877/* 5315*/ OPC_MoveChild1,
2878/* 5316*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2879/* 5319*/ OPC_RecordChild0, // #1 = $addr
2880/* 5320*/ OPC_RecordChild1, // #2 = $off
2881/* 5321*/ OPC_MoveChild1,
2882/* 5322*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2883/* 5325*/ OPC_MoveParent,
2884/* 5326*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
2885/* 5328*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->5356
2886/* 5331*/ OPC_MoveParent,
2887/* 5332*/ OPC_RecordChild2, // #3 = $val
2888/* 5333*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
2889/* 5335*/ OPC_MoveParent,
2890/* 5336*/ OPC_CheckType, MVT::i32,
2891/* 5338*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2892/* 5340*/ OPC_EmitMergeInputChains1_0,
2893/* 5341*/ OPC_EmitInteger, MVT::i32, 0,
2894/* 5344*/ OPC_EmitConvertToTarget, 2,
2895/* 5346*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2896 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
2897 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 19
2898 // Dst: (ATOMIC_RMW16_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
2899/* 5356*/ /*SwitchType*/ 25, MVT::i64,// ->5383
2900/* 5358*/ OPC_MoveParent,
2901/* 5359*/ OPC_RecordChild2, // #3 = $val
2902/* 5360*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
2903/* 5362*/ OPC_MoveParent,
2904/* 5363*/ OPC_CheckType, MVT::i32,
2905/* 5365*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2906/* 5367*/ OPC_EmitMergeInputChains1_0,
2907/* 5368*/ OPC_EmitInteger, MVT::i32, 0,
2908/* 5371*/ OPC_EmitConvertToTarget, 2,
2909/* 5373*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2910 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
2911 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 19
2912 // Dst: (ATOMIC_RMW16_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
2913/* 5383*/ 0, // EndSwitchType
2914/* 5384*/ /*Scope*/ 79, /*->5464*/
2915/* 5385*/ OPC_CheckAndImm, 127|128,1/*255*/,
2916/* 5388*/ OPC_MoveChild0,
2917/* 5389*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
2918/* 5392*/ OPC_RecordMemRef,
2919/* 5393*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
2920/* 5394*/ OPC_CheckFoldableChainNode,
2921/* 5395*/ OPC_MoveChild1,
2922/* 5396*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
2923/* 5399*/ OPC_RecordChild0, // #1 = $addr
2924/* 5400*/ OPC_RecordChild1, // #2 = $off
2925/* 5401*/ OPC_MoveChild1,
2926/* 5402*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2927/* 5405*/ OPC_MoveParent,
2928/* 5406*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
2929/* 5408*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->5436
2930/* 5411*/ OPC_MoveParent,
2931/* 5412*/ OPC_RecordChild2, // #3 = $val
2932/* 5413*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
2933/* 5415*/ OPC_MoveParent,
2934/* 5416*/ OPC_CheckType, MVT::i32,
2935/* 5418*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2936/* 5420*/ OPC_EmitMergeInputChains1_0,
2937/* 5421*/ OPC_EmitInteger, MVT::i32, 0,
2938/* 5424*/ OPC_EmitConvertToTarget, 2,
2939/* 5426*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2940 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
2941 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 19
2942 // Dst: (ATOMIC_RMW8_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
2943/* 5436*/ /*SwitchType*/ 25, MVT::i64,// ->5463
2944/* 5438*/ OPC_MoveParent,
2945/* 5439*/ OPC_RecordChild2, // #3 = $val
2946/* 5440*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
2947/* 5442*/ OPC_MoveParent,
2948/* 5443*/ OPC_CheckType, MVT::i32,
2949/* 5445*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2950/* 5447*/ OPC_EmitMergeInputChains1_0,
2951/* 5448*/ OPC_EmitInteger, MVT::i32, 0,
2952/* 5451*/ OPC_EmitConvertToTarget, 2,
2953/* 5453*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2954 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
2955 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 19
2956 // Dst: (ATOMIC_RMW8_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
2957/* 5463*/ 0, // EndSwitchType
2958/* 5464*/ /*Scope*/ 80, /*->5545*/
2959/* 5465*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2960/* 5469*/ OPC_MoveChild0,
2961/* 5470*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
2962/* 5473*/ OPC_RecordMemRef,
2963/* 5474*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
2964/* 5475*/ OPC_CheckFoldableChainNode,
2965/* 5476*/ OPC_MoveChild1,
2966/* 5477*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
2967/* 5480*/ OPC_RecordChild0, // #1 = $addr
2968/* 5481*/ OPC_RecordChild1, // #2 = $off
2969/* 5482*/ OPC_MoveChild1,
2970/* 5483*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2971/* 5486*/ OPC_MoveParent,
2972/* 5487*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
2973/* 5489*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->5517
2974/* 5492*/ OPC_MoveParent,
2975/* 5493*/ OPC_RecordChild2, // #3 = $val
2976/* 5494*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
2977/* 5496*/ OPC_MoveParent,
2978/* 5497*/ OPC_CheckType, MVT::i32,
2979/* 5499*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2980/* 5501*/ OPC_EmitMergeInputChains1_0,
2981/* 5502*/ OPC_EmitInteger, MVT::i32, 0,
2982/* 5505*/ OPC_EmitConvertToTarget, 2,
2983/* 5507*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2984 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
2985 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 19
2986 // Dst: (ATOMIC_RMW16_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
2987/* 5517*/ /*SwitchType*/ 25, MVT::i64,// ->5544
2988/* 5519*/ OPC_MoveParent,
2989/* 5520*/ OPC_RecordChild2, // #3 = $val
2990/* 5521*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
2991/* 5523*/ OPC_MoveParent,
2992/* 5524*/ OPC_CheckType, MVT::i32,
2993/* 5526*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
2994/* 5528*/ OPC_EmitMergeInputChains1_0,
2995/* 5529*/ OPC_EmitInteger, MVT::i32, 0,
2996/* 5532*/ OPC_EmitConvertToTarget, 2,
2997/* 5534*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2998 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
2999 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 19
3000 // Dst: (ATOMIC_RMW16_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3001/* 5544*/ 0, // EndSwitchType
3002/* 5545*/ /*Scope*/ 79, /*->5625*/
3003/* 5546*/ OPC_CheckAndImm, 127|128,1/*255*/,
3004/* 5549*/ OPC_MoveChild0,
3005/* 5550*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
3006/* 5553*/ OPC_RecordMemRef,
3007/* 5554*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
3008/* 5555*/ OPC_CheckFoldableChainNode,
3009/* 5556*/ OPC_MoveChild1,
3010/* 5557*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3011/* 5560*/ OPC_RecordChild0, // #1 = $addr
3012/* 5561*/ OPC_RecordChild1, // #2 = $off
3013/* 5562*/ OPC_MoveChild1,
3014/* 5563*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3015/* 5566*/ OPC_MoveParent,
3016/* 5567*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
3017/* 5569*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->5597
3018/* 5572*/ OPC_MoveParent,
3019/* 5573*/ OPC_RecordChild2, // #3 = $val
3020/* 5574*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
3021/* 5576*/ OPC_MoveParent,
3022/* 5577*/ OPC_CheckType, MVT::i32,
3023/* 5579*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3024/* 5581*/ OPC_EmitMergeInputChains1_0,
3025/* 5582*/ OPC_EmitInteger, MVT::i32, 0,
3026/* 5585*/ OPC_EmitConvertToTarget, 2,
3027/* 5587*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3028 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3029 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 19
3030 // Dst: (ATOMIC_RMW8_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3031/* 5597*/ /*SwitchType*/ 25, MVT::i64,// ->5624
3032/* 5599*/ OPC_MoveParent,
3033/* 5600*/ OPC_RecordChild2, // #3 = $val
3034/* 5601*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
3035/* 5603*/ OPC_MoveParent,
3036/* 5604*/ OPC_CheckType, MVT::i32,
3037/* 5606*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3038/* 5608*/ OPC_EmitMergeInputChains1_0,
3039/* 5609*/ OPC_EmitInteger, MVT::i32, 0,
3040/* 5612*/ OPC_EmitConvertToTarget, 2,
3041/* 5614*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3042 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3043 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 19
3044 // Dst: (ATOMIC_RMW8_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3045/* 5624*/ 0, // EndSwitchType
3046/* 5625*/ /*Scope*/ 80, /*->5706*/
3047/* 5626*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3048/* 5630*/ OPC_MoveChild0,
3049/* 5631*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
3050/* 5634*/ OPC_RecordMemRef,
3051/* 5635*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
3052/* 5636*/ OPC_CheckFoldableChainNode,
3053/* 5637*/ OPC_MoveChild1,
3054/* 5638*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3055/* 5641*/ OPC_RecordChild0, // #1 = $addr
3056/* 5642*/ OPC_RecordChild1, // #2 = $off
3057/* 5643*/ OPC_MoveChild1,
3058/* 5644*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3059/* 5647*/ OPC_MoveParent,
3060/* 5648*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
3061/* 5650*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->5678
3062/* 5653*/ OPC_MoveParent,
3063/* 5654*/ OPC_RecordChild2, // #3 = $val
3064/* 5655*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
3065/* 5657*/ OPC_MoveParent,
3066/* 5658*/ OPC_CheckType, MVT::i32,
3067/* 5660*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3068/* 5662*/ OPC_EmitMergeInputChains1_0,
3069/* 5663*/ OPC_EmitInteger, MVT::i32, 0,
3070/* 5666*/ OPC_EmitConvertToTarget, 2,
3071/* 5668*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3072 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3073 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 19
3074 // Dst: (ATOMIC_RMW16_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3075/* 5678*/ /*SwitchType*/ 25, MVT::i64,// ->5705
3076/* 5680*/ OPC_MoveParent,
3077/* 5681*/ OPC_RecordChild2, // #3 = $val
3078/* 5682*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
3079/* 5684*/ OPC_MoveParent,
3080/* 5685*/ OPC_CheckType, MVT::i32,
3081/* 5687*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3082/* 5689*/ OPC_EmitMergeInputChains1_0,
3083/* 5690*/ OPC_EmitInteger, MVT::i32, 0,
3084/* 5693*/ OPC_EmitConvertToTarget, 2,
3085/* 5695*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3086 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3087 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 19
3088 // Dst: (ATOMIC_RMW16_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3089/* 5705*/ 0, // EndSwitchType
3090/* 5706*/ /*Scope*/ 79, /*->5786*/
3091/* 5707*/ OPC_CheckAndImm, 127|128,1/*255*/,
3092/* 5710*/ OPC_MoveChild0,
3093/* 5711*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
3094/* 5714*/ OPC_RecordMemRef,
3095/* 5715*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
3096/* 5716*/ OPC_CheckFoldableChainNode,
3097/* 5717*/ OPC_MoveChild1,
3098/* 5718*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
3099/* 5721*/ OPC_RecordChild0, // #1 = $addr
3100/* 5722*/ OPC_RecordChild1, // #2 = $off
3101/* 5723*/ OPC_MoveChild1,
3102/* 5724*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3103/* 5727*/ OPC_MoveParent,
3104/* 5728*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
3105/* 5730*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->5758
3106/* 5733*/ OPC_MoveParent,
3107/* 5734*/ OPC_RecordChild2, // #3 = $val
3108/* 5735*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
3109/* 5737*/ OPC_MoveParent,
3110/* 5738*/ OPC_CheckType, MVT::i32,
3111/* 5740*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3112/* 5742*/ OPC_EmitMergeInputChains1_0,
3113/* 5743*/ OPC_EmitInteger, MVT::i32, 0,
3114/* 5746*/ OPC_EmitConvertToTarget, 2,
3115/* 5748*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3116 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3117 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 19
3118 // Dst: (ATOMIC_RMW8_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3119/* 5758*/ /*SwitchType*/ 25, MVT::i64,// ->5785
3120/* 5760*/ OPC_MoveParent,
3121/* 5761*/ OPC_RecordChild2, // #3 = $val
3122/* 5762*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
3123/* 5764*/ OPC_MoveParent,
3124/* 5765*/ OPC_CheckType, MVT::i32,
3125/* 5767*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3126/* 5769*/ OPC_EmitMergeInputChains1_0,
3127/* 5770*/ OPC_EmitInteger, MVT::i32, 0,
3128/* 5773*/ OPC_EmitConvertToTarget, 2,
3129/* 5775*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3130 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3131 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 19
3132 // Dst: (ATOMIC_RMW8_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3133/* 5785*/ 0, // EndSwitchType
3134/* 5786*/ /*Scope*/ 80, /*->5867*/
3135/* 5787*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3136/* 5791*/ OPC_MoveChild0,
3137/* 5792*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
3138/* 5795*/ OPC_RecordMemRef,
3139/* 5796*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
3140/* 5797*/ OPC_CheckFoldableChainNode,
3141/* 5798*/ OPC_MoveChild1,
3142/* 5799*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
3143/* 5802*/ OPC_RecordChild0, // #1 = $addr
3144/* 5803*/ OPC_RecordChild1, // #2 = $off
3145/* 5804*/ OPC_MoveChild1,
3146/* 5805*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3147/* 5808*/ OPC_MoveParent,
3148/* 5809*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
3149/* 5811*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->5839
3150/* 5814*/ OPC_MoveParent,
3151/* 5815*/ OPC_RecordChild2, // #3 = $val
3152/* 5816*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
3153/* 5818*/ OPC_MoveParent,
3154/* 5819*/ OPC_CheckType, MVT::i32,
3155/* 5821*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3156/* 5823*/ OPC_EmitMergeInputChains1_0,
3157/* 5824*/ OPC_EmitInteger, MVT::i32, 0,
3158/* 5827*/ OPC_EmitConvertToTarget, 2,
3159/* 5829*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3160 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3161 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 19
3162 // Dst: (ATOMIC_RMW16_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3163/* 5839*/ /*SwitchType*/ 25, MVT::i64,// ->5866
3164/* 5841*/ OPC_MoveParent,
3165/* 5842*/ OPC_RecordChild2, // #3 = $val
3166/* 5843*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
3167/* 5845*/ OPC_MoveParent,
3168/* 5846*/ OPC_CheckType, MVT::i32,
3169/* 5848*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3170/* 5850*/ OPC_EmitMergeInputChains1_0,
3171/* 5851*/ OPC_EmitInteger, MVT::i32, 0,
3172/* 5854*/ OPC_EmitConvertToTarget, 2,
3173/* 5856*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3174 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3175 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 19
3176 // Dst: (ATOMIC_RMW16_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3177/* 5866*/ 0, // EndSwitchType
3178/* 5867*/ /*Scope*/ 79, /*->5947*/
3179/* 5868*/ OPC_CheckAndImm, 127|128,1/*255*/,
3180/* 5871*/ OPC_MoveChild0,
3181/* 5872*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
3182/* 5875*/ OPC_RecordMemRef,
3183/* 5876*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
3184/* 5877*/ OPC_CheckFoldableChainNode,
3185/* 5878*/ OPC_MoveChild1,
3186/* 5879*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3187/* 5882*/ OPC_RecordChild0, // #1 = $addr
3188/* 5883*/ OPC_RecordChild1, // #2 = $off
3189/* 5884*/ OPC_MoveChild1,
3190/* 5885*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3191/* 5888*/ OPC_MoveParent,
3192/* 5889*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
3193/* 5891*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->5919
3194/* 5894*/ OPC_MoveParent,
3195/* 5895*/ OPC_RecordChild2, // #3 = $val
3196/* 5896*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
3197/* 5898*/ OPC_MoveParent,
3198/* 5899*/ OPC_CheckType, MVT::i32,
3199/* 5901*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3200/* 5903*/ OPC_EmitMergeInputChains1_0,
3201/* 5904*/ OPC_EmitInteger, MVT::i32, 0,
3202/* 5907*/ OPC_EmitConvertToTarget, 2,
3203/* 5909*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3204 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3205 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 19
3206 // Dst: (ATOMIC_RMW8_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3207/* 5919*/ /*SwitchType*/ 25, MVT::i64,// ->5946
3208/* 5921*/ OPC_MoveParent,
3209/* 5922*/ OPC_RecordChild2, // #3 = $val
3210/* 5923*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
3211/* 5925*/ OPC_MoveParent,
3212/* 5926*/ OPC_CheckType, MVT::i32,
3213/* 5928*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3214/* 5930*/ OPC_EmitMergeInputChains1_0,
3215/* 5931*/ OPC_EmitInteger, MVT::i32, 0,
3216/* 5934*/ OPC_EmitConvertToTarget, 2,
3217/* 5936*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3218 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3219 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 19
3220 // Dst: (ATOMIC_RMW8_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3221/* 5946*/ 0, // EndSwitchType
3222/* 5947*/ /*Scope*/ 80, /*->6028*/
3223/* 5948*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3224/* 5952*/ OPC_MoveChild0,
3225/* 5953*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
3226/* 5956*/ OPC_RecordMemRef,
3227/* 5957*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
3228/* 5958*/ OPC_CheckFoldableChainNode,
3229/* 5959*/ OPC_MoveChild1,
3230/* 5960*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3231/* 5963*/ OPC_RecordChild0, // #1 = $addr
3232/* 5964*/ OPC_RecordChild1, // #2 = $off
3233/* 5965*/ OPC_MoveChild1,
3234/* 5966*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3235/* 5969*/ OPC_MoveParent,
3236/* 5970*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
3237/* 5972*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->6000
3238/* 5975*/ OPC_MoveParent,
3239/* 5976*/ OPC_RecordChild2, // #3 = $val
3240/* 5977*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
3241/* 5979*/ OPC_MoveParent,
3242/* 5980*/ OPC_CheckType, MVT::i32,
3243/* 5982*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3244/* 5984*/ OPC_EmitMergeInputChains1_0,
3245/* 5985*/ OPC_EmitInteger, MVT::i32, 0,
3246/* 5988*/ OPC_EmitConvertToTarget, 2,
3247/* 5990*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3248 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3249 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 19
3250 // Dst: (ATOMIC_RMW16_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3251/* 6000*/ /*SwitchType*/ 25, MVT::i64,// ->6027
3252/* 6002*/ OPC_MoveParent,
3253/* 6003*/ OPC_RecordChild2, // #3 = $val
3254/* 6004*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
3255/* 6006*/ OPC_MoveParent,
3256/* 6007*/ OPC_CheckType, MVT::i32,
3257/* 6009*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3258/* 6011*/ OPC_EmitMergeInputChains1_0,
3259/* 6012*/ OPC_EmitInteger, MVT::i32, 0,
3260/* 6015*/ OPC_EmitConvertToTarget, 2,
3261/* 6017*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3262 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3263 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 19
3264 // Dst: (ATOMIC_RMW16_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3265/* 6027*/ 0, // EndSwitchType
3266/* 6028*/ /*Scope*/ 79, /*->6108*/
3267/* 6029*/ OPC_CheckAndImm, 127|128,1/*255*/,
3268/* 6032*/ OPC_MoveChild0,
3269/* 6033*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
3270/* 6036*/ OPC_RecordMemRef,
3271/* 6037*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
3272/* 6038*/ OPC_CheckFoldableChainNode,
3273/* 6039*/ OPC_MoveChild1,
3274/* 6040*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
3275/* 6043*/ OPC_RecordChild0, // #1 = $addr
3276/* 6044*/ OPC_RecordChild1, // #2 = $off
3277/* 6045*/ OPC_MoveChild1,
3278/* 6046*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3279/* 6049*/ OPC_MoveParent,
3280/* 6050*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
3281/* 6052*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->6080
3282/* 6055*/ OPC_MoveParent,
3283/* 6056*/ OPC_RecordChild2, // #3 = $val
3284/* 6057*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
3285/* 6059*/ OPC_MoveParent,
3286/* 6060*/ OPC_CheckType, MVT::i32,
3287/* 6062*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3288/* 6064*/ OPC_EmitMergeInputChains1_0,
3289/* 6065*/ OPC_EmitInteger, MVT::i32, 0,
3290/* 6068*/ OPC_EmitConvertToTarget, 2,
3291/* 6070*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3292 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3293 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 19
3294 // Dst: (ATOMIC_RMW8_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3295/* 6080*/ /*SwitchType*/ 25, MVT::i64,// ->6107
3296/* 6082*/ OPC_MoveParent,
3297/* 6083*/ OPC_RecordChild2, // #3 = $val
3298/* 6084*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
3299/* 6086*/ OPC_MoveParent,
3300/* 6087*/ OPC_CheckType, MVT::i32,
3301/* 6089*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3302/* 6091*/ OPC_EmitMergeInputChains1_0,
3303/* 6092*/ OPC_EmitInteger, MVT::i32, 0,
3304/* 6095*/ OPC_EmitConvertToTarget, 2,
3305/* 6097*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3306 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3307 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 19
3308 // Dst: (ATOMIC_RMW8_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3309/* 6107*/ 0, // EndSwitchType
3310/* 6108*/ /*Scope*/ 80, /*->6189*/
3311/* 6109*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3312/* 6113*/ OPC_MoveChild0,
3313/* 6114*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
3314/* 6117*/ OPC_RecordMemRef,
3315/* 6118*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
3316/* 6119*/ OPC_CheckFoldableChainNode,
3317/* 6120*/ OPC_MoveChild1,
3318/* 6121*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
3319/* 6124*/ OPC_RecordChild0, // #1 = $addr
3320/* 6125*/ OPC_RecordChild1, // #2 = $off
3321/* 6126*/ OPC_MoveChild1,
3322/* 6127*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3323/* 6130*/ OPC_MoveParent,
3324/* 6131*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
3325/* 6133*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->6161
3326/* 6136*/ OPC_MoveParent,
3327/* 6137*/ OPC_RecordChild2, // #3 = $val
3328/* 6138*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
3329/* 6140*/ OPC_MoveParent,
3330/* 6141*/ OPC_CheckType, MVT::i32,
3331/* 6143*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3332/* 6145*/ OPC_EmitMergeInputChains1_0,
3333/* 6146*/ OPC_EmitInteger, MVT::i32, 0,
3334/* 6149*/ OPC_EmitConvertToTarget, 2,
3335/* 6151*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3336 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3337 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 19
3338 // Dst: (ATOMIC_RMW16_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3339/* 6161*/ /*SwitchType*/ 25, MVT::i64,// ->6188
3340/* 6163*/ OPC_MoveParent,
3341/* 6164*/ OPC_RecordChild2, // #3 = $val
3342/* 6165*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
3343/* 6167*/ OPC_MoveParent,
3344/* 6168*/ OPC_CheckType, MVT::i32,
3345/* 6170*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3346/* 6172*/ OPC_EmitMergeInputChains1_0,
3347/* 6173*/ OPC_EmitInteger, MVT::i32, 0,
3348/* 6176*/ OPC_EmitConvertToTarget, 2,
3349/* 6178*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3350 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3351 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 19
3352 // Dst: (ATOMIC_RMW16_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3353/* 6188*/ 0, // EndSwitchType
3354/* 6189*/ /*Scope*/ 79, /*->6269*/
3355/* 6190*/ OPC_CheckAndImm, 127|128,1/*255*/,
3356/* 6193*/ OPC_MoveChild0,
3357/* 6194*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
3358/* 6197*/ OPC_RecordMemRef,
3359/* 6198*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
3360/* 6199*/ OPC_CheckFoldableChainNode,
3361/* 6200*/ OPC_MoveChild1,
3362/* 6201*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3363/* 6204*/ OPC_RecordChild0, // #1 = $addr
3364/* 6205*/ OPC_RecordChild1, // #2 = $off
3365/* 6206*/ OPC_MoveChild1,
3366/* 6207*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3367/* 6210*/ OPC_MoveParent,
3368/* 6211*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
3369/* 6213*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->6241
3370/* 6216*/ OPC_MoveParent,
3371/* 6217*/ OPC_RecordChild2, // #3 = $val
3372/* 6218*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
3373/* 6220*/ OPC_MoveParent,
3374/* 6221*/ OPC_CheckType, MVT::i32,
3375/* 6223*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3376/* 6225*/ OPC_EmitMergeInputChains1_0,
3377/* 6226*/ OPC_EmitInteger, MVT::i32, 0,
3378/* 6229*/ OPC_EmitConvertToTarget, 2,
3379/* 6231*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3380 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3381 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 19
3382 // Dst: (ATOMIC_RMW8_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3383/* 6241*/ /*SwitchType*/ 25, MVT::i64,// ->6268
3384/* 6243*/ OPC_MoveParent,
3385/* 6244*/ OPC_RecordChild2, // #3 = $val
3386/* 6245*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
3387/* 6247*/ OPC_MoveParent,
3388/* 6248*/ OPC_CheckType, MVT::i32,
3389/* 6250*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3390/* 6252*/ OPC_EmitMergeInputChains1_0,
3391/* 6253*/ OPC_EmitInteger, MVT::i32, 0,
3392/* 6256*/ OPC_EmitConvertToTarget, 2,
3393/* 6258*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3394 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3395 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 19
3396 // Dst: (ATOMIC_RMW8_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3397/* 6268*/ 0, // EndSwitchType
3398/* 6269*/ /*Scope*/ 80, /*->6350*/
3399/* 6270*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3400/* 6274*/ OPC_MoveChild0,
3401/* 6275*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
3402/* 6278*/ OPC_RecordMemRef,
3403/* 6279*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
3404/* 6280*/ OPC_CheckFoldableChainNode,
3405/* 6281*/ OPC_MoveChild1,
3406/* 6282*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3407/* 6285*/ OPC_RecordChild0, // #1 = $addr
3408/* 6286*/ OPC_RecordChild1, // #2 = $off
3409/* 6287*/ OPC_MoveChild1,
3410/* 6288*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3411/* 6291*/ OPC_MoveParent,
3412/* 6292*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
3413/* 6294*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->6322
3414/* 6297*/ OPC_MoveParent,
3415/* 6298*/ OPC_RecordChild2, // #3 = $val
3416/* 6299*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
3417/* 6301*/ OPC_MoveParent,
3418/* 6302*/ OPC_CheckType, MVT::i32,
3419/* 6304*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3420/* 6306*/ OPC_EmitMergeInputChains1_0,
3421/* 6307*/ OPC_EmitInteger, MVT::i32, 0,
3422/* 6310*/ OPC_EmitConvertToTarget, 2,
3423/* 6312*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3424 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3425 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 19
3426 // Dst: (ATOMIC_RMW16_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3427/* 6322*/ /*SwitchType*/ 25, MVT::i64,// ->6349
3428/* 6324*/ OPC_MoveParent,
3429/* 6325*/ OPC_RecordChild2, // #3 = $val
3430/* 6326*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
3431/* 6328*/ OPC_MoveParent,
3432/* 6329*/ OPC_CheckType, MVT::i32,
3433/* 6331*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3434/* 6333*/ OPC_EmitMergeInputChains1_0,
3435/* 6334*/ OPC_EmitInteger, MVT::i32, 0,
3436/* 6337*/ OPC_EmitConvertToTarget, 2,
3437/* 6339*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3438 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3439 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 19
3440 // Dst: (ATOMIC_RMW16_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3441/* 6349*/ 0, // EndSwitchType
3442/* 6350*/ /*Scope*/ 79, /*->6430*/
3443/* 6351*/ OPC_CheckAndImm, 127|128,1/*255*/,
3444/* 6354*/ OPC_MoveChild0,
3445/* 6355*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
3446/* 6358*/ OPC_RecordMemRef,
3447/* 6359*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
3448/* 6360*/ OPC_CheckFoldableChainNode,
3449/* 6361*/ OPC_MoveChild1,
3450/* 6362*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
3451/* 6365*/ OPC_RecordChild0, // #1 = $addr
3452/* 6366*/ OPC_RecordChild1, // #2 = $off
3453/* 6367*/ OPC_MoveChild1,
3454/* 6368*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3455/* 6371*/ OPC_MoveParent,
3456/* 6372*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
3457/* 6374*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->6402
3458/* 6377*/ OPC_MoveParent,
3459/* 6378*/ OPC_RecordChild2, // #3 = $val
3460/* 6379*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
3461/* 6381*/ OPC_MoveParent,
3462/* 6382*/ OPC_CheckType, MVT::i32,
3463/* 6384*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3464/* 6386*/ OPC_EmitMergeInputChains1_0,
3465/* 6387*/ OPC_EmitInteger, MVT::i32, 0,
3466/* 6390*/ OPC_EmitConvertToTarget, 2,
3467/* 6392*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3468 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3469 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 19
3470 // Dst: (ATOMIC_RMW8_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3471/* 6402*/ /*SwitchType*/ 25, MVT::i64,// ->6429
3472/* 6404*/ OPC_MoveParent,
3473/* 6405*/ OPC_RecordChild2, // #3 = $val
3474/* 6406*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
3475/* 6408*/ OPC_MoveParent,
3476/* 6409*/ OPC_CheckType, MVT::i32,
3477/* 6411*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3478/* 6413*/ OPC_EmitMergeInputChains1_0,
3479/* 6414*/ OPC_EmitInteger, MVT::i32, 0,
3480/* 6417*/ OPC_EmitConvertToTarget, 2,
3481/* 6419*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3482 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3483 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 19
3484 // Dst: (ATOMIC_RMW8_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3485/* 6429*/ 0, // EndSwitchType
3486/* 6430*/ /*Scope*/ 80, /*->6511*/
3487/* 6431*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3488/* 6435*/ OPC_MoveChild0,
3489/* 6436*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
3490/* 6439*/ OPC_RecordMemRef,
3491/* 6440*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
3492/* 6441*/ OPC_CheckFoldableChainNode,
3493/* 6442*/ OPC_MoveChild1,
3494/* 6443*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
3495/* 6446*/ OPC_RecordChild0, // #1 = $addr
3496/* 6447*/ OPC_RecordChild1, // #2 = $off
3497/* 6448*/ OPC_MoveChild1,
3498/* 6449*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3499/* 6452*/ OPC_MoveParent,
3500/* 6453*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
3501/* 6455*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->6483
3502/* 6458*/ OPC_MoveParent,
3503/* 6459*/ OPC_RecordChild2, // #3 = $val
3504/* 6460*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
3505/* 6462*/ OPC_MoveParent,
3506/* 6463*/ OPC_CheckType, MVT::i32,
3507/* 6465*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3508/* 6467*/ OPC_EmitMergeInputChains1_0,
3509/* 6468*/ OPC_EmitInteger, MVT::i32, 0,
3510/* 6471*/ OPC_EmitConvertToTarget, 2,
3511/* 6473*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3512 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3513 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 19
3514 // Dst: (ATOMIC_RMW16_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3515/* 6483*/ /*SwitchType*/ 25, MVT::i64,// ->6510
3516/* 6485*/ OPC_MoveParent,
3517/* 6486*/ OPC_RecordChild2, // #3 = $val
3518/* 6487*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
3519/* 6489*/ OPC_MoveParent,
3520/* 6490*/ OPC_CheckType, MVT::i32,
3521/* 6492*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3522/* 6494*/ OPC_EmitMergeInputChains1_0,
3523/* 6495*/ OPC_EmitInteger, MVT::i32, 0,
3524/* 6498*/ OPC_EmitConvertToTarget, 2,
3525/* 6500*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3526 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3527 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 19
3528 // Dst: (ATOMIC_RMW16_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3529/* 6510*/ 0, // EndSwitchType
3530/* 6511*/ /*Scope*/ 79, /*->6591*/
3531/* 6512*/ OPC_CheckAndImm, 127|128,1/*255*/,
3532/* 6515*/ OPC_MoveChild0,
3533/* 6516*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
3534/* 6519*/ OPC_RecordMemRef,
3535/* 6520*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
3536/* 6521*/ OPC_CheckFoldableChainNode,
3537/* 6522*/ OPC_MoveChild1,
3538/* 6523*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3539/* 6526*/ OPC_RecordChild0, // #1 = $addr
3540/* 6527*/ OPC_RecordChild1, // #2 = $off
3541/* 6528*/ OPC_MoveChild1,
3542/* 6529*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3543/* 6532*/ OPC_MoveParent,
3544/* 6533*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
3545/* 6535*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->6563
3546/* 6538*/ OPC_MoveParent,
3547/* 6539*/ OPC_RecordChild2, // #3 = $val
3548/* 6540*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
3549/* 6542*/ OPC_MoveParent,
3550/* 6543*/ OPC_CheckType, MVT::i32,
3551/* 6545*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3552/* 6547*/ OPC_EmitMergeInputChains1_0,
3553/* 6548*/ OPC_EmitInteger, MVT::i32, 0,
3554/* 6551*/ OPC_EmitConvertToTarget, 2,
3555/* 6553*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3556 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3557 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 19
3558 // Dst: (ATOMIC_RMW8_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3559/* 6563*/ /*SwitchType*/ 25, MVT::i64,// ->6590
3560/* 6565*/ OPC_MoveParent,
3561/* 6566*/ OPC_RecordChild2, // #3 = $val
3562/* 6567*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
3563/* 6569*/ OPC_MoveParent,
3564/* 6570*/ OPC_CheckType, MVT::i32,
3565/* 6572*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3566/* 6574*/ OPC_EmitMergeInputChains1_0,
3567/* 6575*/ OPC_EmitInteger, MVT::i32, 0,
3568/* 6578*/ OPC_EmitConvertToTarget, 2,
3569/* 6580*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3570 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3571 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 19
3572 // Dst: (ATOMIC_RMW8_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3573/* 6590*/ 0, // EndSwitchType
3574/* 6591*/ /*Scope*/ 80, /*->6672*/
3575/* 6592*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3576/* 6596*/ OPC_MoveChild0,
3577/* 6597*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
3578/* 6600*/ OPC_RecordMemRef,
3579/* 6601*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
3580/* 6602*/ OPC_CheckFoldableChainNode,
3581/* 6603*/ OPC_MoveChild1,
3582/* 6604*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3583/* 6607*/ OPC_RecordChild0, // #1 = $addr
3584/* 6608*/ OPC_RecordChild1, // #2 = $off
3585/* 6609*/ OPC_MoveChild1,
3586/* 6610*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3587/* 6613*/ OPC_MoveParent,
3588/* 6614*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
3589/* 6616*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->6644
3590/* 6619*/ OPC_MoveParent,
3591/* 6620*/ OPC_RecordChild2, // #3 = $val
3592/* 6621*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
3593/* 6623*/ OPC_MoveParent,
3594/* 6624*/ OPC_CheckType, MVT::i32,
3595/* 6626*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3596/* 6628*/ OPC_EmitMergeInputChains1_0,
3597/* 6629*/ OPC_EmitInteger, MVT::i32, 0,
3598/* 6632*/ OPC_EmitConvertToTarget, 2,
3599/* 6634*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3600 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3601 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 19
3602 // Dst: (ATOMIC_RMW16_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3603/* 6644*/ /*SwitchType*/ 25, MVT::i64,// ->6671
3604/* 6646*/ OPC_MoveParent,
3605/* 6647*/ OPC_RecordChild2, // #3 = $val
3606/* 6648*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
3607/* 6650*/ OPC_MoveParent,
3608/* 6651*/ OPC_CheckType, MVT::i32,
3609/* 6653*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3610/* 6655*/ OPC_EmitMergeInputChains1_0,
3611/* 6656*/ OPC_EmitInteger, MVT::i32, 0,
3612/* 6659*/ OPC_EmitConvertToTarget, 2,
3613/* 6661*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3614 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3615 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 19
3616 // Dst: (ATOMIC_RMW16_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3617/* 6671*/ 0, // EndSwitchType
3618/* 6672*/ /*Scope*/ 79, /*->6752*/
3619/* 6673*/ OPC_CheckAndImm, 127|128,1/*255*/,
3620/* 6676*/ OPC_MoveChild0,
3621/* 6677*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
3622/* 6680*/ OPC_RecordMemRef,
3623/* 6681*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
3624/* 6682*/ OPC_CheckFoldableChainNode,
3625/* 6683*/ OPC_MoveChild1,
3626/* 6684*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
3627/* 6687*/ OPC_RecordChild0, // #1 = $addr
3628/* 6688*/ OPC_RecordChild1, // #2 = $off
3629/* 6689*/ OPC_MoveChild1,
3630/* 6690*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3631/* 6693*/ OPC_MoveParent,
3632/* 6694*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
3633/* 6696*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->6724
3634/* 6699*/ OPC_MoveParent,
3635/* 6700*/ OPC_RecordChild2, // #3 = $val
3636/* 6701*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
3637/* 6703*/ OPC_MoveParent,
3638/* 6704*/ OPC_CheckType, MVT::i32,
3639/* 6706*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3640/* 6708*/ OPC_EmitMergeInputChains1_0,
3641/* 6709*/ OPC_EmitInteger, MVT::i32, 0,
3642/* 6712*/ OPC_EmitConvertToTarget, 2,
3643/* 6714*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3644 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3645 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 19
3646 // Dst: (ATOMIC_RMW8_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3647/* 6724*/ /*SwitchType*/ 25, MVT::i64,// ->6751
3648/* 6726*/ OPC_MoveParent,
3649/* 6727*/ OPC_RecordChild2, // #3 = $val
3650/* 6728*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
3651/* 6730*/ OPC_MoveParent,
3652/* 6731*/ OPC_CheckType, MVT::i32,
3653/* 6733*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3654/* 6735*/ OPC_EmitMergeInputChains1_0,
3655/* 6736*/ OPC_EmitInteger, MVT::i32, 0,
3656/* 6739*/ OPC_EmitConvertToTarget, 2,
3657/* 6741*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3658 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3659 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 19
3660 // Dst: (ATOMIC_RMW8_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3661/* 6751*/ 0, // EndSwitchType
3662/* 6752*/ /*Scope*/ 80, /*->6833*/
3663/* 6753*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3664/* 6757*/ OPC_MoveChild0,
3665/* 6758*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
3666/* 6761*/ OPC_RecordMemRef,
3667/* 6762*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
3668/* 6763*/ OPC_CheckFoldableChainNode,
3669/* 6764*/ OPC_MoveChild1,
3670/* 6765*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
3671/* 6768*/ OPC_RecordChild0, // #1 = $addr
3672/* 6769*/ OPC_RecordChild1, // #2 = $off
3673/* 6770*/ OPC_MoveChild1,
3674/* 6771*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3675/* 6774*/ OPC_MoveParent,
3676/* 6775*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
3677/* 6777*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->6805
3678/* 6780*/ OPC_MoveParent,
3679/* 6781*/ OPC_RecordChild2, // #3 = $val
3680/* 6782*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
3681/* 6784*/ OPC_MoveParent,
3682/* 6785*/ OPC_CheckType, MVT::i32,
3683/* 6787*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3684/* 6789*/ OPC_EmitMergeInputChains1_0,
3685/* 6790*/ OPC_EmitInteger, MVT::i32, 0,
3686/* 6793*/ OPC_EmitConvertToTarget, 2,
3687/* 6795*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3688 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3689 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 19
3690 // Dst: (ATOMIC_RMW16_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3691/* 6805*/ /*SwitchType*/ 25, MVT::i64,// ->6832
3692/* 6807*/ OPC_MoveParent,
3693/* 6808*/ OPC_RecordChild2, // #3 = $val
3694/* 6809*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
3695/* 6811*/ OPC_MoveParent,
3696/* 6812*/ OPC_CheckType, MVT::i32,
3697/* 6814*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3698/* 6816*/ OPC_EmitMergeInputChains1_0,
3699/* 6817*/ OPC_EmitInteger, MVT::i32, 0,
3700/* 6820*/ OPC_EmitConvertToTarget, 2,
3701/* 6822*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3702 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3703 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 19
3704 // Dst: (ATOMIC_RMW16_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3705/* 6832*/ 0, // EndSwitchType
3706/* 6833*/ /*Scope*/ 79, /*->6913*/
3707/* 6834*/ OPC_CheckAndImm, 127|128,1/*255*/,
3708/* 6837*/ OPC_MoveChild0,
3709/* 6838*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
3710/* 6841*/ OPC_RecordMemRef,
3711/* 6842*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
3712/* 6843*/ OPC_CheckFoldableChainNode,
3713/* 6844*/ OPC_MoveChild1,
3714/* 6845*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3715/* 6848*/ OPC_RecordChild0, // #1 = $addr
3716/* 6849*/ OPC_RecordChild1, // #2 = $off
3717/* 6850*/ OPC_MoveChild1,
3718/* 6851*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3719/* 6854*/ OPC_MoveParent,
3720/* 6855*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
3721/* 6857*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->6885
3722/* 6860*/ OPC_MoveParent,
3723/* 6861*/ OPC_RecordChild2, // #3 = $val
3724/* 6862*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
3725/* 6864*/ OPC_MoveParent,
3726/* 6865*/ OPC_CheckType, MVT::i32,
3727/* 6867*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3728/* 6869*/ OPC_EmitMergeInputChains1_0,
3729/* 6870*/ OPC_EmitInteger, MVT::i32, 0,
3730/* 6873*/ OPC_EmitConvertToTarget, 2,
3731/* 6875*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3732 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3733 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 19
3734 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3735/* 6885*/ /*SwitchType*/ 25, MVT::i64,// ->6912
3736/* 6887*/ OPC_MoveParent,
3737/* 6888*/ OPC_RecordChild2, // #3 = $val
3738/* 6889*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
3739/* 6891*/ OPC_MoveParent,
3740/* 6892*/ OPC_CheckType, MVT::i32,
3741/* 6894*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3742/* 6896*/ OPC_EmitMergeInputChains1_0,
3743/* 6897*/ OPC_EmitInteger, MVT::i32, 0,
3744/* 6900*/ OPC_EmitConvertToTarget, 2,
3745/* 6902*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3746 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3747 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 19
3748 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3749/* 6912*/ 0, // EndSwitchType
3750/* 6913*/ /*Scope*/ 80, /*->6994*/
3751/* 6914*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3752/* 6918*/ OPC_MoveChild0,
3753/* 6919*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
3754/* 6922*/ OPC_RecordMemRef,
3755/* 6923*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
3756/* 6924*/ OPC_CheckFoldableChainNode,
3757/* 6925*/ OPC_MoveChild1,
3758/* 6926*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3759/* 6929*/ OPC_RecordChild0, // #1 = $addr
3760/* 6930*/ OPC_RecordChild1, // #2 = $off
3761/* 6931*/ OPC_MoveChild1,
3762/* 6932*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3763/* 6935*/ OPC_MoveParent,
3764/* 6936*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
3765/* 6938*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->6966
3766/* 6941*/ OPC_MoveParent,
3767/* 6942*/ OPC_RecordChild2, // #3 = $val
3768/* 6943*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
3769/* 6945*/ OPC_MoveParent,
3770/* 6946*/ OPC_CheckType, MVT::i32,
3771/* 6948*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3772/* 6950*/ OPC_EmitMergeInputChains1_0,
3773/* 6951*/ OPC_EmitInteger, MVT::i32, 0,
3774/* 6954*/ OPC_EmitConvertToTarget, 2,
3775/* 6956*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3776 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3777 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 19
3778 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3779/* 6966*/ /*SwitchType*/ 25, MVT::i64,// ->6993
3780/* 6968*/ OPC_MoveParent,
3781/* 6969*/ OPC_RecordChild2, // #3 = $val
3782/* 6970*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
3783/* 6972*/ OPC_MoveParent,
3784/* 6973*/ OPC_CheckType, MVT::i32,
3785/* 6975*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3786/* 6977*/ OPC_EmitMergeInputChains1_0,
3787/* 6978*/ OPC_EmitInteger, MVT::i32, 0,
3788/* 6981*/ OPC_EmitConvertToTarget, 2,
3789/* 6983*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3790 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3791 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 19
3792 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3793/* 6993*/ 0, // EndSwitchType
3794/* 6994*/ /*Scope*/ 79, /*->7074*/
3795/* 6995*/ OPC_CheckAndImm, 127|128,1/*255*/,
3796/* 6998*/ OPC_MoveChild0,
3797/* 6999*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
3798/* 7002*/ OPC_RecordMemRef,
3799/* 7003*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
3800/* 7004*/ OPC_CheckFoldableChainNode,
3801/* 7005*/ OPC_MoveChild1,
3802/* 7006*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
3803/* 7009*/ OPC_RecordChild0, // #1 = $addr
3804/* 7010*/ OPC_RecordChild1, // #2 = $off
3805/* 7011*/ OPC_MoveChild1,
3806/* 7012*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3807/* 7015*/ OPC_MoveParent,
3808/* 7016*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
3809/* 7018*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->7046
3810/* 7021*/ OPC_MoveParent,
3811/* 7022*/ OPC_RecordChild2, // #3 = $val
3812/* 7023*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
3813/* 7025*/ OPC_MoveParent,
3814/* 7026*/ OPC_CheckType, MVT::i32,
3815/* 7028*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3816/* 7030*/ OPC_EmitMergeInputChains1_0,
3817/* 7031*/ OPC_EmitInteger, MVT::i32, 0,
3818/* 7034*/ OPC_EmitConvertToTarget, 2,
3819/* 7036*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3820 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3821 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 19
3822 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3823/* 7046*/ /*SwitchType*/ 25, MVT::i64,// ->7073
3824/* 7048*/ OPC_MoveParent,
3825/* 7049*/ OPC_RecordChild2, // #3 = $val
3826/* 7050*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
3827/* 7052*/ OPC_MoveParent,
3828/* 7053*/ OPC_CheckType, MVT::i32,
3829/* 7055*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3830/* 7057*/ OPC_EmitMergeInputChains1_0,
3831/* 7058*/ OPC_EmitInteger, MVT::i32, 0,
3832/* 7061*/ OPC_EmitConvertToTarget, 2,
3833/* 7063*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3834 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3835 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 19
3836 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3837/* 7073*/ 0, // EndSwitchType
3838/* 7074*/ /*Scope*/ 80, /*->7155*/
3839/* 7075*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3840/* 7079*/ OPC_MoveChild0,
3841/* 7080*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
3842/* 7083*/ OPC_RecordMemRef,
3843/* 7084*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
3844/* 7085*/ OPC_CheckFoldableChainNode,
3845/* 7086*/ OPC_MoveChild1,
3846/* 7087*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
3847/* 7090*/ OPC_RecordChild0, // #1 = $addr
3848/* 7091*/ OPC_RecordChild1, // #2 = $off
3849/* 7092*/ OPC_MoveChild1,
3850/* 7093*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3851/* 7096*/ OPC_MoveParent,
3852/* 7097*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
3853/* 7099*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->7127
3854/* 7102*/ OPC_MoveParent,
3855/* 7103*/ OPC_RecordChild2, // #3 = $val
3856/* 7104*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
3857/* 7106*/ OPC_MoveParent,
3858/* 7107*/ OPC_CheckType, MVT::i32,
3859/* 7109*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3860/* 7111*/ OPC_EmitMergeInputChains1_0,
3861/* 7112*/ OPC_EmitInteger, MVT::i32, 0,
3862/* 7115*/ OPC_EmitConvertToTarget, 2,
3863/* 7117*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3864 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3865 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 19
3866 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3867/* 7127*/ /*SwitchType*/ 25, MVT::i64,// ->7154
3868/* 7129*/ OPC_MoveParent,
3869/* 7130*/ OPC_RecordChild2, // #3 = $val
3870/* 7131*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
3871/* 7133*/ OPC_MoveParent,
3872/* 7134*/ OPC_CheckType, MVT::i32,
3873/* 7136*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3874/* 7138*/ OPC_EmitMergeInputChains1_0,
3875/* 7139*/ OPC_EmitInteger, MVT::i32, 0,
3876/* 7142*/ OPC_EmitConvertToTarget, 2,
3877/* 7144*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3878 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
3879 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 19
3880 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
3881/* 7154*/ 0, // EndSwitchType
3882/* 7155*/ /*Scope*/ 83, /*->7239*/
3883/* 7156*/ OPC_CheckAndImm, 127|128,1/*255*/,
3884/* 7159*/ OPC_MoveChild0,
3885/* 7160*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
3886/* 7163*/ OPC_RecordMemRef,
3887/* 7164*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
3888/* 7165*/ OPC_CheckFoldableChainNode,
3889/* 7166*/ OPC_MoveChild1,
3890/* 7167*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3891/* 7170*/ OPC_RecordChild0, // #1 = $addr
3892/* 7171*/ OPC_RecordChild1, // #2 = $off
3893/* 7172*/ OPC_MoveChild1,
3894/* 7173*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3895/* 7176*/ OPC_MoveParent,
3896/* 7177*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
3897/* 7179*/ OPC_SwitchType /*2 cases */, 27, MVT::i32,// ->7209
3898/* 7182*/ OPC_MoveParent,
3899/* 7183*/ OPC_RecordChild2, // #3 = $exp
3900/* 7184*/ OPC_RecordChild3, // #4 = $new
3901/* 7185*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
3902/* 7187*/ OPC_MoveParent,
3903/* 7188*/ OPC_CheckType, MVT::i32,
3904/* 7190*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3905/* 7192*/ OPC_EmitMergeInputChains1_0,
3906/* 7193*/ OPC_EmitInteger, MVT::i32, 0,
3907/* 7196*/ OPC_EmitConvertToTarget, 2,
3908/* 7198*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3909 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
3910 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 19
3911 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
3912/* 7209*/ /*SwitchType*/ 27, MVT::i64,// ->7238
3913/* 7211*/ OPC_MoveParent,
3914/* 7212*/ OPC_RecordChild2, // #3 = $exp
3915/* 7213*/ OPC_RecordChild3, // #4 = $new
3916/* 7214*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
3917/* 7216*/ OPC_MoveParent,
3918/* 7217*/ OPC_CheckType, MVT::i32,
3919/* 7219*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3920/* 7221*/ OPC_EmitMergeInputChains1_0,
3921/* 7222*/ OPC_EmitInteger, MVT::i32, 0,
3922/* 7225*/ OPC_EmitConvertToTarget, 2,
3923/* 7227*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3924 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
3925 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 19
3926 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
3927/* 7238*/ 0, // EndSwitchType
3928/* 7239*/ /*Scope*/ 84, /*->7324*/
3929/* 7240*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3930/* 7244*/ OPC_MoveChild0,
3931/* 7245*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
3932/* 7248*/ OPC_RecordMemRef,
3933/* 7249*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
3934/* 7250*/ OPC_CheckFoldableChainNode,
3935/* 7251*/ OPC_MoveChild1,
3936/* 7252*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3937/* 7255*/ OPC_RecordChild0, // #1 = $addr
3938/* 7256*/ OPC_RecordChild1, // #2 = $off
3939/* 7257*/ OPC_MoveChild1,
3940/* 7258*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3941/* 7261*/ OPC_MoveParent,
3942/* 7262*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
3943/* 7264*/ OPC_SwitchType /*2 cases */, 27, MVT::i32,// ->7294
3944/* 7267*/ OPC_MoveParent,
3945/* 7268*/ OPC_RecordChild2, // #3 = $exp
3946/* 7269*/ OPC_RecordChild3, // #4 = $new
3947/* 7270*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
3948/* 7272*/ OPC_MoveParent,
3949/* 7273*/ OPC_CheckType, MVT::i32,
3950/* 7275*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3951/* 7277*/ OPC_EmitMergeInputChains1_0,
3952/* 7278*/ OPC_EmitInteger, MVT::i32, 0,
3953/* 7281*/ OPC_EmitConvertToTarget, 2,
3954/* 7283*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3955 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
3956 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 19
3957 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
3958/* 7294*/ /*SwitchType*/ 27, MVT::i64,// ->7323
3959/* 7296*/ OPC_MoveParent,
3960/* 7297*/ OPC_RecordChild2, // #3 = $exp
3961/* 7298*/ OPC_RecordChild3, // #4 = $new
3962/* 7299*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
3963/* 7301*/ OPC_MoveParent,
3964/* 7302*/ OPC_CheckType, MVT::i32,
3965/* 7304*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3966/* 7306*/ OPC_EmitMergeInputChains1_0,
3967/* 7307*/ OPC_EmitInteger, MVT::i32, 0,
3968/* 7310*/ OPC_EmitConvertToTarget, 2,
3969/* 7312*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3970 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
3971 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 19
3972 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
3973/* 7323*/ 0, // EndSwitchType
3974/* 7324*/ /*Scope*/ 83, /*->7408*/
3975/* 7325*/ OPC_CheckAndImm, 127|128,1/*255*/,
3976/* 7328*/ OPC_MoveChild0,
3977/* 7329*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
3978/* 7332*/ OPC_RecordMemRef,
3979/* 7333*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
3980/* 7334*/ OPC_CheckFoldableChainNode,
3981/* 7335*/ OPC_MoveChild1,
3982/* 7336*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
3983/* 7339*/ OPC_RecordChild0, // #1 = $addr
3984/* 7340*/ OPC_RecordChild1, // #2 = $off
3985/* 7341*/ OPC_MoveChild1,
3986/* 7342*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3987/* 7345*/ OPC_MoveParent,
3988/* 7346*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
3989/* 7348*/ OPC_SwitchType /*2 cases */, 27, MVT::i32,// ->7378
3990/* 7351*/ OPC_MoveParent,
3991/* 7352*/ OPC_RecordChild2, // #3 = $exp
3992/* 7353*/ OPC_RecordChild3, // #4 = $new
3993/* 7354*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
3994/* 7356*/ OPC_MoveParent,
3995/* 7357*/ OPC_CheckType, MVT::i32,
3996/* 7359*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
3997/* 7361*/ OPC_EmitMergeInputChains1_0,
3998/* 7362*/ OPC_EmitInteger, MVT::i32, 0,
3999/* 7365*/ OPC_EmitConvertToTarget, 2,
4000/* 7367*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4001 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
4002 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 19
4003 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
4004/* 7378*/ /*SwitchType*/ 27, MVT::i64,// ->7407
4005/* 7380*/ OPC_MoveParent,
4006/* 7381*/ OPC_RecordChild2, // #3 = $exp
4007/* 7382*/ OPC_RecordChild3, // #4 = $new
4008/* 7383*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
4009/* 7385*/ OPC_MoveParent,
4010/* 7386*/ OPC_CheckType, MVT::i32,
4011/* 7388*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4012/* 7390*/ OPC_EmitMergeInputChains1_0,
4013/* 7391*/ OPC_EmitInteger, MVT::i32, 0,
4014/* 7394*/ OPC_EmitConvertToTarget, 2,
4015/* 7396*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4016 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
4017 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 19
4018 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
4019/* 7407*/ 0, // EndSwitchType
4020/* 7408*/ /*Scope*/ 84, /*->7493*/
4021/* 7409*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4022/* 7413*/ OPC_MoveChild0,
4023/* 7414*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
4024/* 7417*/ OPC_RecordMemRef,
4025/* 7418*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
4026/* 7419*/ OPC_CheckFoldableChainNode,
4027/* 7420*/ OPC_MoveChild1,
4028/* 7421*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
4029/* 7424*/ OPC_RecordChild0, // #1 = $addr
4030/* 7425*/ OPC_RecordChild1, // #2 = $off
4031/* 7426*/ OPC_MoveChild1,
4032/* 7427*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4033/* 7430*/ OPC_MoveParent,
4034/* 7431*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
4035/* 7433*/ OPC_SwitchType /*2 cases */, 27, MVT::i32,// ->7463
4036/* 7436*/ OPC_MoveParent,
4037/* 7437*/ OPC_RecordChild2, // #3 = $exp
4038/* 7438*/ OPC_RecordChild3, // #4 = $new
4039/* 7439*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
4040/* 7441*/ OPC_MoveParent,
4041/* 7442*/ OPC_CheckType, MVT::i32,
4042/* 7444*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4043/* 7446*/ OPC_EmitMergeInputChains1_0,
4044/* 7447*/ OPC_EmitInteger, MVT::i32, 0,
4045/* 7450*/ OPC_EmitConvertToTarget, 2,
4046/* 7452*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4047 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
4048 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 19
4049 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
4050/* 7463*/ /*SwitchType*/ 27, MVT::i64,// ->7492
4051/* 7465*/ OPC_MoveParent,
4052/* 7466*/ OPC_RecordChild2, // #3 = $exp
4053/* 7467*/ OPC_RecordChild3, // #4 = $new
4054/* 7468*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
4055/* 7470*/ OPC_MoveParent,
4056/* 7471*/ OPC_CheckType, MVT::i32,
4057/* 7473*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4058/* 7475*/ OPC_EmitMergeInputChains1_0,
4059/* 7476*/ OPC_EmitInteger, MVT::i32, 0,
4060/* 7479*/ OPC_EmitConvertToTarget, 2,
4061/* 7481*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4062 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
4063 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 19
4064 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
4065/* 7492*/ 0, // EndSwitchType
4066/* 7493*/ /*Scope*/ 81, /*->7575*/
4067/* 7494*/ OPC_CheckAndImm, 127|128,1/*255*/,
4068/* 7497*/ OPC_MoveChild0,
4069/* 7498*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
4070/* 7501*/ OPC_MoveChild0,
4071/* 7502*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
4072/* 7505*/ OPC_RecordMemRef,
4073/* 7506*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
4074/* 7507*/ OPC_CheckFoldableChainNode,
4075/* 7508*/ OPC_RecordChild1, // #1 = $addr
4076/* 7509*/ OPC_Scope, 31, /*->7542*/ // 2 children in Scope
4077/* 7511*/ OPC_CheckChild1Type, MVT::i32,
4078/* 7513*/ OPC_MoveChild2,
4079/* 7514*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4080/* 7517*/ OPC_RecordChild0, // #2 = $val
4081/* 7518*/ OPC_MoveParent,
4082/* 7519*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
4083/* 7521*/ OPC_MoveParent,
4084/* 7522*/ OPC_MoveParent,
4085/* 7523*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4086/* 7525*/ OPC_EmitMergeInputChains1_0,
4087/* 7526*/ OPC_EmitInteger, MVT::i32, 0,
4088/* 7529*/ OPC_EmitInteger, MVT::i32, 0,
4089/* 7532*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4090 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4091 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 18
4092 // Dst: (ATOMIC_RMW8_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
4093/* 7542*/ /*Scope*/ 31, /*->7574*/
4094/* 7543*/ OPC_CheckChild1Type, MVT::i64,
4095/* 7545*/ OPC_MoveChild2,
4096/* 7546*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4097/* 7549*/ OPC_RecordChild0, // #2 = $val
4098/* 7550*/ OPC_MoveParent,
4099/* 7551*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
4100/* 7553*/ OPC_MoveParent,
4101/* 7554*/ OPC_MoveParent,
4102/* 7555*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4103/* 7557*/ OPC_EmitMergeInputChains1_0,
4104/* 7558*/ OPC_EmitInteger, MVT::i32, 0,
4105/* 7561*/ OPC_EmitInteger, MVT::i64, 0,
4106/* 7564*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4107 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4108 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 18
4109 // Dst: (ATOMIC_RMW8_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
4110/* 7574*/ 0, /*End of Scope*/
4111/* 7575*/ /*Scope*/ 82, /*->7658*/
4112/* 7576*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4113/* 7580*/ OPC_MoveChild0,
4114/* 7581*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
4115/* 7584*/ OPC_MoveChild0,
4116/* 7585*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
4117/* 7588*/ OPC_RecordMemRef,
4118/* 7589*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
4119/* 7590*/ OPC_CheckFoldableChainNode,
4120/* 7591*/ OPC_RecordChild1, // #1 = $addr
4121/* 7592*/ OPC_Scope, 31, /*->7625*/ // 2 children in Scope
4122/* 7594*/ OPC_CheckChild1Type, MVT::i32,
4123/* 7596*/ OPC_MoveChild2,
4124/* 7597*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4125/* 7600*/ OPC_RecordChild0, // #2 = $val
4126/* 7601*/ OPC_MoveParent,
4127/* 7602*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
4128/* 7604*/ OPC_MoveParent,
4129/* 7605*/ OPC_MoveParent,
4130/* 7606*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4131/* 7608*/ OPC_EmitMergeInputChains1_0,
4132/* 7609*/ OPC_EmitInteger, MVT::i32, 0,
4133/* 7612*/ OPC_EmitInteger, MVT::i32, 0,
4134/* 7615*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4135 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4136 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 18
4137 // Dst: (ATOMIC_RMW16_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
4138/* 7625*/ /*Scope*/ 31, /*->7657*/
4139/* 7626*/ OPC_CheckChild1Type, MVT::i64,
4140/* 7628*/ OPC_MoveChild2,
4141/* 7629*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4142/* 7632*/ OPC_RecordChild0, // #2 = $val
4143/* 7633*/ OPC_MoveParent,
4144/* 7634*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
4145/* 7636*/ OPC_MoveParent,
4146/* 7637*/ OPC_MoveParent,
4147/* 7638*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4148/* 7640*/ OPC_EmitMergeInputChains1_0,
4149/* 7641*/ OPC_EmitInteger, MVT::i32, 0,
4150/* 7644*/ OPC_EmitInteger, MVT::i64, 0,
4151/* 7647*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4152 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4153 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 18
4154 // Dst: (ATOMIC_RMW16_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
4155/* 7657*/ 0, /*End of Scope*/
4156/* 7658*/ /*Scope*/ 81, /*->7740*/
4157/* 7659*/ OPC_CheckAndImm, 127|128,1/*255*/,
4158/* 7662*/ OPC_MoveChild0,
4159/* 7663*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
4160/* 7666*/ OPC_MoveChild0,
4161/* 7667*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
4162/* 7670*/ OPC_RecordMemRef,
4163/* 7671*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
4164/* 7672*/ OPC_CheckFoldableChainNode,
4165/* 7673*/ OPC_RecordChild1, // #1 = $addr
4166/* 7674*/ OPC_Scope, 31, /*->7707*/ // 2 children in Scope
4167/* 7676*/ OPC_CheckChild1Type, MVT::i32,
4168/* 7678*/ OPC_MoveChild2,
4169/* 7679*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4170/* 7682*/ OPC_RecordChild0, // #2 = $val
4171/* 7683*/ OPC_MoveParent,
4172/* 7684*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
4173/* 7686*/ OPC_MoveParent,
4174/* 7687*/ OPC_MoveParent,
4175/* 7688*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4176/* 7690*/ OPC_EmitMergeInputChains1_0,
4177/* 7691*/ OPC_EmitInteger, MVT::i32, 0,
4178/* 7694*/ OPC_EmitInteger, MVT::i32, 0,
4179/* 7697*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4180 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4181 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 18
4182 // Dst: (ATOMIC_RMW8_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
4183/* 7707*/ /*Scope*/ 31, /*->7739*/
4184/* 7708*/ OPC_CheckChild1Type, MVT::i64,
4185/* 7710*/ OPC_MoveChild2,
4186/* 7711*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4187/* 7714*/ OPC_RecordChild0, // #2 = $val
4188/* 7715*/ OPC_MoveParent,
4189/* 7716*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
4190/* 7718*/ OPC_MoveParent,
4191/* 7719*/ OPC_MoveParent,
4192/* 7720*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4193/* 7722*/ OPC_EmitMergeInputChains1_0,
4194/* 7723*/ OPC_EmitInteger, MVT::i32, 0,
4195/* 7726*/ OPC_EmitInteger, MVT::i64, 0,
4196/* 7729*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4197 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4198 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 18
4199 // Dst: (ATOMIC_RMW8_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
4200/* 7739*/ 0, /*End of Scope*/
4201/* 7740*/ /*Scope*/ 82, /*->7823*/
4202/* 7741*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4203/* 7745*/ OPC_MoveChild0,
4204/* 7746*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
4205/* 7749*/ OPC_MoveChild0,
4206/* 7750*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
4207/* 7753*/ OPC_RecordMemRef,
4208/* 7754*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
4209/* 7755*/ OPC_CheckFoldableChainNode,
4210/* 7756*/ OPC_RecordChild1, // #1 = $addr
4211/* 7757*/ OPC_Scope, 31, /*->7790*/ // 2 children in Scope
4212/* 7759*/ OPC_CheckChild1Type, MVT::i32,
4213/* 7761*/ OPC_MoveChild2,
4214/* 7762*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4215/* 7765*/ OPC_RecordChild0, // #2 = $val
4216/* 7766*/ OPC_MoveParent,
4217/* 7767*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
4218/* 7769*/ OPC_MoveParent,
4219/* 7770*/ OPC_MoveParent,
4220/* 7771*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4221/* 7773*/ OPC_EmitMergeInputChains1_0,
4222/* 7774*/ OPC_EmitInteger, MVT::i32, 0,
4223/* 7777*/ OPC_EmitInteger, MVT::i32, 0,
4224/* 7780*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4225 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4226 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 18
4227 // Dst: (ATOMIC_RMW16_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
4228/* 7790*/ /*Scope*/ 31, /*->7822*/
4229/* 7791*/ OPC_CheckChild1Type, MVT::i64,
4230/* 7793*/ OPC_MoveChild2,
4231/* 7794*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4232/* 7797*/ OPC_RecordChild0, // #2 = $val
4233/* 7798*/ OPC_MoveParent,
4234/* 7799*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
4235/* 7801*/ OPC_MoveParent,
4236/* 7802*/ OPC_MoveParent,
4237/* 7803*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4238/* 7805*/ OPC_EmitMergeInputChains1_0,
4239/* 7806*/ OPC_EmitInteger, MVT::i32, 0,
4240/* 7809*/ OPC_EmitInteger, MVT::i64, 0,
4241/* 7812*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4242 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4243 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 18
4244 // Dst: (ATOMIC_RMW16_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
4245/* 7822*/ 0, /*End of Scope*/
4246/* 7823*/ /*Scope*/ 81, /*->7905*/
4247/* 7824*/ OPC_CheckAndImm, 127|128,1/*255*/,
4248/* 7827*/ OPC_MoveChild0,
4249/* 7828*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
4250/* 7831*/ OPC_MoveChild0,
4251/* 7832*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
4252/* 7835*/ OPC_RecordMemRef,
4253/* 7836*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
4254/* 7837*/ OPC_CheckFoldableChainNode,
4255/* 7838*/ OPC_RecordChild1, // #1 = $addr
4256/* 7839*/ OPC_Scope, 31, /*->7872*/ // 2 children in Scope
4257/* 7841*/ OPC_CheckChild1Type, MVT::i32,
4258/* 7843*/ OPC_MoveChild2,
4259/* 7844*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4260/* 7847*/ OPC_RecordChild0, // #2 = $val
4261/* 7848*/ OPC_MoveParent,
4262/* 7849*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
4263/* 7851*/ OPC_MoveParent,
4264/* 7852*/ OPC_MoveParent,
4265/* 7853*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4266/* 7855*/ OPC_EmitMergeInputChains1_0,
4267/* 7856*/ OPC_EmitInteger, MVT::i32, 0,
4268/* 7859*/ OPC_EmitInteger, MVT::i32, 0,
4269/* 7862*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4270 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4271 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 18
4272 // Dst: (ATOMIC_RMW8_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
4273/* 7872*/ /*Scope*/ 31, /*->7904*/
4274/* 7873*/ OPC_CheckChild1Type, MVT::i64,
4275/* 7875*/ OPC_MoveChild2,
4276/* 7876*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4277/* 7879*/ OPC_RecordChild0, // #2 = $val
4278/* 7880*/ OPC_MoveParent,
4279/* 7881*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
4280/* 7883*/ OPC_MoveParent,
4281/* 7884*/ OPC_MoveParent,
4282/* 7885*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4283/* 7887*/ OPC_EmitMergeInputChains1_0,
4284/* 7888*/ OPC_EmitInteger, MVT::i32, 0,
4285/* 7891*/ OPC_EmitInteger, MVT::i64, 0,
4286/* 7894*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4287 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4288 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 18
4289 // Dst: (ATOMIC_RMW8_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
4290/* 7904*/ 0, /*End of Scope*/
4291/* 7905*/ /*Scope*/ 82, /*->7988*/
4292/* 7906*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4293/* 7910*/ OPC_MoveChild0,
4294/* 7911*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
4295/* 7914*/ OPC_MoveChild0,
4296/* 7915*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
4297/* 7918*/ OPC_RecordMemRef,
4298/* 7919*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
4299/* 7920*/ OPC_CheckFoldableChainNode,
4300/* 7921*/ OPC_RecordChild1, // #1 = $addr
4301/* 7922*/ OPC_Scope, 31, /*->7955*/ // 2 children in Scope
4302/* 7924*/ OPC_CheckChild1Type, MVT::i32,
4303/* 7926*/ OPC_MoveChild2,
4304/* 7927*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4305/* 7930*/ OPC_RecordChild0, // #2 = $val
4306/* 7931*/ OPC_MoveParent,
4307/* 7932*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
4308/* 7934*/ OPC_MoveParent,
4309/* 7935*/ OPC_MoveParent,
4310/* 7936*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4311/* 7938*/ OPC_EmitMergeInputChains1_0,
4312/* 7939*/ OPC_EmitInteger, MVT::i32, 0,
4313/* 7942*/ OPC_EmitInteger, MVT::i32, 0,
4314/* 7945*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4315 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4316 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 18
4317 // Dst: (ATOMIC_RMW16_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
4318/* 7955*/ /*Scope*/ 31, /*->7987*/
4319/* 7956*/ OPC_CheckChild1Type, MVT::i64,
4320/* 7958*/ OPC_MoveChild2,
4321/* 7959*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4322/* 7962*/ OPC_RecordChild0, // #2 = $val
4323/* 7963*/ OPC_MoveParent,
4324/* 7964*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
4325/* 7966*/ OPC_MoveParent,
4326/* 7967*/ OPC_MoveParent,
4327/* 7968*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4328/* 7970*/ OPC_EmitMergeInputChains1_0,
4329/* 7971*/ OPC_EmitInteger, MVT::i32, 0,
4330/* 7974*/ OPC_EmitInteger, MVT::i64, 0,
4331/* 7977*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4332 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4333 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 18
4334 // Dst: (ATOMIC_RMW16_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
4335/* 7987*/ 0, /*End of Scope*/
4336/* 7988*/ /*Scope*/ 81, /*->8070*/
4337/* 7989*/ OPC_CheckAndImm, 127|128,1/*255*/,
4338/* 7992*/ OPC_MoveChild0,
4339/* 7993*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
4340/* 7996*/ OPC_MoveChild0,
4341/* 7997*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
4342/* 8000*/ OPC_RecordMemRef,
4343/* 8001*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
4344/* 8002*/ OPC_CheckFoldableChainNode,
4345/* 8003*/ OPC_RecordChild1, // #1 = $addr
4346/* 8004*/ OPC_Scope, 31, /*->8037*/ // 2 children in Scope
4347/* 8006*/ OPC_CheckChild1Type, MVT::i32,
4348/* 8008*/ OPC_MoveChild2,
4349/* 8009*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4350/* 8012*/ OPC_RecordChild0, // #2 = $val
4351/* 8013*/ OPC_MoveParent,
4352/* 8014*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
4353/* 8016*/ OPC_MoveParent,
4354/* 8017*/ OPC_MoveParent,
4355/* 8018*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4356/* 8020*/ OPC_EmitMergeInputChains1_0,
4357/* 8021*/ OPC_EmitInteger, MVT::i32, 0,
4358/* 8024*/ OPC_EmitInteger, MVT::i32, 0,
4359/* 8027*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4360 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4361 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 18
4362 // Dst: (ATOMIC_RMW8_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
4363/* 8037*/ /*Scope*/ 31, /*->8069*/
4364/* 8038*/ OPC_CheckChild1Type, MVT::i64,
4365/* 8040*/ OPC_MoveChild2,
4366/* 8041*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4367/* 8044*/ OPC_RecordChild0, // #2 = $val
4368/* 8045*/ OPC_MoveParent,
4369/* 8046*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
4370/* 8048*/ OPC_MoveParent,
4371/* 8049*/ OPC_MoveParent,
4372/* 8050*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4373/* 8052*/ OPC_EmitMergeInputChains1_0,
4374/* 8053*/ OPC_EmitInteger, MVT::i32, 0,
4375/* 8056*/ OPC_EmitInteger, MVT::i64, 0,
4376/* 8059*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4377 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4378 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 18
4379 // Dst: (ATOMIC_RMW8_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
4380/* 8069*/ 0, /*End of Scope*/
4381/* 8070*/ /*Scope*/ 82, /*->8153*/
4382/* 8071*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4383/* 8075*/ OPC_MoveChild0,
4384/* 8076*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
4385/* 8079*/ OPC_MoveChild0,
4386/* 8080*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
4387/* 8083*/ OPC_RecordMemRef,
4388/* 8084*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
4389/* 8085*/ OPC_CheckFoldableChainNode,
4390/* 8086*/ OPC_RecordChild1, // #1 = $addr
4391/* 8087*/ OPC_Scope, 31, /*->8120*/ // 2 children in Scope
4392/* 8089*/ OPC_CheckChild1Type, MVT::i32,
4393/* 8091*/ OPC_MoveChild2,
4394/* 8092*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4395/* 8095*/ OPC_RecordChild0, // #2 = $val
4396/* 8096*/ OPC_MoveParent,
4397/* 8097*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
4398/* 8099*/ OPC_MoveParent,
4399/* 8100*/ OPC_MoveParent,
4400/* 8101*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4401/* 8103*/ OPC_EmitMergeInputChains1_0,
4402/* 8104*/ OPC_EmitInteger, MVT::i32, 0,
4403/* 8107*/ OPC_EmitInteger, MVT::i32, 0,
4404/* 8110*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4405 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4406 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 18
4407 // Dst: (ATOMIC_RMW16_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
4408/* 8120*/ /*Scope*/ 31, /*->8152*/
4409/* 8121*/ OPC_CheckChild1Type, MVT::i64,
4410/* 8123*/ OPC_MoveChild2,
4411/* 8124*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4412/* 8127*/ OPC_RecordChild0, // #2 = $val
4413/* 8128*/ OPC_MoveParent,
4414/* 8129*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
4415/* 8131*/ OPC_MoveParent,
4416/* 8132*/ OPC_MoveParent,
4417/* 8133*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4418/* 8135*/ OPC_EmitMergeInputChains1_0,
4419/* 8136*/ OPC_EmitInteger, MVT::i32, 0,
4420/* 8139*/ OPC_EmitInteger, MVT::i64, 0,
4421/* 8142*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4422 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4423 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 18
4424 // Dst: (ATOMIC_RMW16_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
4425/* 8152*/ 0, /*End of Scope*/
4426/* 8153*/ /*Scope*/ 81, /*->8235*/
4427/* 8154*/ OPC_CheckAndImm, 127|128,1/*255*/,
4428/* 8157*/ OPC_MoveChild0,
4429/* 8158*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
4430/* 8161*/ OPC_MoveChild0,
4431/* 8162*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
4432/* 8165*/ OPC_RecordMemRef,
4433/* 8166*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
4434/* 8167*/ OPC_CheckFoldableChainNode,
4435/* 8168*/ OPC_RecordChild1, // #1 = $addr
4436/* 8169*/ OPC_Scope, 31, /*->8202*/ // 2 children in Scope
4437/* 8171*/ OPC_CheckChild1Type, MVT::i32,
4438/* 8173*/ OPC_MoveChild2,
4439/* 8174*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4440/* 8177*/ OPC_RecordChild0, // #2 = $val
4441/* 8178*/ OPC_MoveParent,
4442/* 8179*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
4443/* 8181*/ OPC_MoveParent,
4444/* 8182*/ OPC_MoveParent,
4445/* 8183*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4446/* 8185*/ OPC_EmitMergeInputChains1_0,
4447/* 8186*/ OPC_EmitInteger, MVT::i32, 0,
4448/* 8189*/ OPC_EmitInteger, MVT::i32, 0,
4449/* 8192*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4450 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4451 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 18
4452 // Dst: (ATOMIC_RMW8_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
4453/* 8202*/ /*Scope*/ 31, /*->8234*/
4454/* 8203*/ OPC_CheckChild1Type, MVT::i64,
4455/* 8205*/ OPC_MoveChild2,
4456/* 8206*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4457/* 8209*/ OPC_RecordChild0, // #2 = $val
4458/* 8210*/ OPC_MoveParent,
4459/* 8211*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
4460/* 8213*/ OPC_MoveParent,
4461/* 8214*/ OPC_MoveParent,
4462/* 8215*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4463/* 8217*/ OPC_EmitMergeInputChains1_0,
4464/* 8218*/ OPC_EmitInteger, MVT::i32, 0,
4465/* 8221*/ OPC_EmitInteger, MVT::i64, 0,
4466/* 8224*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4467 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4468 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 18
4469 // Dst: (ATOMIC_RMW8_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
4470/* 8234*/ 0, /*End of Scope*/
4471/* 8235*/ /*Scope*/ 82, /*->8318*/
4472/* 8236*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4473/* 8240*/ OPC_MoveChild0,
4474/* 8241*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
4475/* 8244*/ OPC_MoveChild0,
4476/* 8245*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
4477/* 8248*/ OPC_RecordMemRef,
4478/* 8249*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
4479/* 8250*/ OPC_CheckFoldableChainNode,
4480/* 8251*/ OPC_RecordChild1, // #1 = $addr
4481/* 8252*/ OPC_Scope, 31, /*->8285*/ // 2 children in Scope
4482/* 8254*/ OPC_CheckChild1Type, MVT::i32,
4483/* 8256*/ OPC_MoveChild2,
4484/* 8257*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4485/* 8260*/ OPC_RecordChild0, // #2 = $val
4486/* 8261*/ OPC_MoveParent,
4487/* 8262*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
4488/* 8264*/ OPC_MoveParent,
4489/* 8265*/ OPC_MoveParent,
4490/* 8266*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4491/* 8268*/ OPC_EmitMergeInputChains1_0,
4492/* 8269*/ OPC_EmitInteger, MVT::i32, 0,
4493/* 8272*/ OPC_EmitInteger, MVT::i32, 0,
4494/* 8275*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4495 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4496 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 18
4497 // Dst: (ATOMIC_RMW16_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
4498/* 8285*/ /*Scope*/ 31, /*->8317*/
4499/* 8286*/ OPC_CheckChild1Type, MVT::i64,
4500/* 8288*/ OPC_MoveChild2,
4501/* 8289*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4502/* 8292*/ OPC_RecordChild0, // #2 = $val
4503/* 8293*/ OPC_MoveParent,
4504/* 8294*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
4505/* 8296*/ OPC_MoveParent,
4506/* 8297*/ OPC_MoveParent,
4507/* 8298*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4508/* 8300*/ OPC_EmitMergeInputChains1_0,
4509/* 8301*/ OPC_EmitInteger, MVT::i32, 0,
4510/* 8304*/ OPC_EmitInteger, MVT::i64, 0,
4511/* 8307*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4512 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4513 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 18
4514 // Dst: (ATOMIC_RMW16_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
4515/* 8317*/ 0, /*End of Scope*/
4516/* 8318*/ /*Scope*/ 81, /*->8400*/
4517/* 8319*/ OPC_CheckAndImm, 127|128,1/*255*/,
4518/* 8322*/ OPC_MoveChild0,
4519/* 8323*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
4520/* 8326*/ OPC_MoveChild0,
4521/* 8327*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
4522/* 8330*/ OPC_RecordMemRef,
4523/* 8331*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
4524/* 8332*/ OPC_CheckFoldableChainNode,
4525/* 8333*/ OPC_RecordChild1, // #1 = $addr
4526/* 8334*/ OPC_Scope, 31, /*->8367*/ // 2 children in Scope
4527/* 8336*/ OPC_CheckChild1Type, MVT::i32,
4528/* 8338*/ OPC_MoveChild2,
4529/* 8339*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4530/* 8342*/ OPC_RecordChild0, // #2 = $val
4531/* 8343*/ OPC_MoveParent,
4532/* 8344*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
4533/* 8346*/ OPC_MoveParent,
4534/* 8347*/ OPC_MoveParent,
4535/* 8348*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4536/* 8350*/ OPC_EmitMergeInputChains1_0,
4537/* 8351*/ OPC_EmitInteger, MVT::i32, 0,
4538/* 8354*/ OPC_EmitInteger, MVT::i32, 0,
4539/* 8357*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4540 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4541 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 18
4542 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
4543/* 8367*/ /*Scope*/ 31, /*->8399*/
4544/* 8368*/ OPC_CheckChild1Type, MVT::i64,
4545/* 8370*/ OPC_MoveChild2,
4546/* 8371*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4547/* 8374*/ OPC_RecordChild0, // #2 = $val
4548/* 8375*/ OPC_MoveParent,
4549/* 8376*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
4550/* 8378*/ OPC_MoveParent,
4551/* 8379*/ OPC_MoveParent,
4552/* 8380*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4553/* 8382*/ OPC_EmitMergeInputChains1_0,
4554/* 8383*/ OPC_EmitInteger, MVT::i32, 0,
4555/* 8386*/ OPC_EmitInteger, MVT::i64, 0,
4556/* 8389*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4557 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4558 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 18
4559 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
4560/* 8399*/ 0, /*End of Scope*/
4561/* 8400*/ /*Scope*/ 82, /*->8483*/
4562/* 8401*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4563/* 8405*/ OPC_MoveChild0,
4564/* 8406*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
4565/* 8409*/ OPC_MoveChild0,
4566/* 8410*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
4567/* 8413*/ OPC_RecordMemRef,
4568/* 8414*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
4569/* 8415*/ OPC_CheckFoldableChainNode,
4570/* 8416*/ OPC_RecordChild1, // #1 = $addr
4571/* 8417*/ OPC_Scope, 31, /*->8450*/ // 2 children in Scope
4572/* 8419*/ OPC_CheckChild1Type, MVT::i32,
4573/* 8421*/ OPC_MoveChild2,
4574/* 8422*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4575/* 8425*/ OPC_RecordChild0, // #2 = $val
4576/* 8426*/ OPC_MoveParent,
4577/* 8427*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
4578/* 8429*/ OPC_MoveParent,
4579/* 8430*/ OPC_MoveParent,
4580/* 8431*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4581/* 8433*/ OPC_EmitMergeInputChains1_0,
4582/* 8434*/ OPC_EmitInteger, MVT::i32, 0,
4583/* 8437*/ OPC_EmitInteger, MVT::i32, 0,
4584/* 8440*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4585 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4586 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 18
4587 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
4588/* 8450*/ /*Scope*/ 31, /*->8482*/
4589/* 8451*/ OPC_CheckChild1Type, MVT::i64,
4590/* 8453*/ OPC_MoveChild2,
4591/* 8454*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
4592/* 8457*/ OPC_RecordChild0, // #2 = $val
4593/* 8458*/ OPC_MoveParent,
4594/* 8459*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
4595/* 8461*/ OPC_MoveParent,
4596/* 8462*/ OPC_MoveParent,
4597/* 8463*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
4598/* 8465*/ OPC_EmitMergeInputChains1_0,
4599/* 8466*/ OPC_EmitInteger, MVT::i32, 0,
4600/* 8469*/ OPC_EmitInteger, MVT::i64, 0,
4601/* 8472*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4602 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
4603 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 18
4604 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
4605/* 8482*/ 0, /*End of Scope*/
4606/* 8483*/ /*Scope*/ 82, /*->8566*/
4607/* 8484*/ OPC_CheckAndImm, 127|128,1/*255*/,
4608/* 8487*/ OPC_MoveChild0,
4609/* 8488*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
4610/* 8491*/ OPC_MoveChild0,
4611/* 8492*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
4612/* 8495*/ OPC_RecordMemRef,
4613/* 8496*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
4614/* 8497*/ OPC_CheckFoldableChainNode,
4615/* 8498*/ OPC_RecordChild1, // #1 = $off
4616/* 8499*/ OPC_MoveChild1,
4617/* 8500*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4618/* 8503*/ OPC_MoveParent,
4619/* 8504*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
4620/* 8506*/ OPC_MoveParent,
4621/* 8507*/ OPC_MoveParent,
4622/* 8508*/ OPC_Scope, 27, /*->8537*/ // 2 children in Scope
4623/* 8510*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
4624/* 8512*/ OPC_EmitMergeInputChains1_0,
4625/* 8513*/ OPC_EmitInteger, MVT::i32, 0,
4626/* 8516*/ OPC_EmitConvertToTarget, 1,
4627/* 8518*/ OPC_EmitInteger, MVT::i32, 0,
4628/* 8521*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
4629 MVT::i32, 1/*#Ops*/, 4, // Results = #5
4630/* 8528*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4631 MVT::i64, 3/*#Ops*/, 2, 3, 5,
4632 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 18
4633 // Dst: (ATOMIC_LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
4634/* 8537*/ /*Scope*/ 27, /*->8565*/
4635/* 8538*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
4636/* 8540*/ OPC_EmitMergeInputChains1_0,
4637/* 8541*/ OPC_EmitInteger, MVT::i32, 0,
4638/* 8544*/ OPC_EmitConvertToTarget, 1,
4639/* 8546*/ OPC_EmitInteger, MVT::i64, 0,
4640/* 8549*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
4641 MVT::i64, 1/*#Ops*/, 4, // Results = #5
4642/* 8556*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4643 MVT::i64, 3/*#Ops*/, 2, 3, 5,
4644 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 18
4645 // Dst: (ATOMIC_LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
4646/* 8565*/ 0, /*End of Scope*/
4647/* 8566*/ /*Scope*/ 83, /*->8650*/
4648/* 8567*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4649/* 8571*/ OPC_MoveChild0,
4650/* 8572*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
4651/* 8575*/ OPC_MoveChild0,
4652/* 8576*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
4653/* 8579*/ OPC_RecordMemRef,
4654/* 8580*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
4655/* 8581*/ OPC_CheckFoldableChainNode,
4656/* 8582*/ OPC_RecordChild1, // #1 = $off
4657/* 8583*/ OPC_MoveChild1,
4658/* 8584*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4659/* 8587*/ OPC_MoveParent,
4660/* 8588*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
4661/* 8590*/ OPC_MoveParent,
4662/* 8591*/ OPC_MoveParent,
4663/* 8592*/ OPC_Scope, 27, /*->8621*/ // 2 children in Scope
4664/* 8594*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
4665/* 8596*/ OPC_EmitMergeInputChains1_0,
4666/* 8597*/ OPC_EmitInteger, MVT::i32, 0,
4667/* 8600*/ OPC_EmitConvertToTarget, 1,
4668/* 8602*/ OPC_EmitInteger, MVT::i32, 0,
4669/* 8605*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
4670 MVT::i32, 1/*#Ops*/, 4, // Results = #5
4671/* 8612*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4672 MVT::i64, 3/*#Ops*/, 2, 3, 5,
4673 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 18
4674 // Dst: (ATOMIC_LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
4675/* 8621*/ /*Scope*/ 27, /*->8649*/
4676/* 8622*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
4677/* 8624*/ OPC_EmitMergeInputChains1_0,
4678/* 8625*/ OPC_EmitInteger, MVT::i32, 0,
4679/* 8628*/ OPC_EmitConvertToTarget, 1,
4680/* 8630*/ OPC_EmitInteger, MVT::i64, 0,
4681/* 8633*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
4682 MVT::i64, 1/*#Ops*/, 4, // Results = #5
4683/* 8640*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4684 MVT::i64, 3/*#Ops*/, 2, 3, 5,
4685 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 18
4686 // Dst: (ATOMIC_LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
4687/* 8649*/ 0, /*End of Scope*/
4688/* 8650*/ /*Scope*/ 80, /*->8731*/
4689/* 8651*/ OPC_CheckAndImm, 127|128,1/*255*/,
4690/* 8654*/ OPC_MoveChild0,
4691/* 8655*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
4692/* 8658*/ OPC_RecordMemRef,
4693/* 8659*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
4694/* 8660*/ OPC_CheckFoldableChainNode,
4695/* 8661*/ OPC_MoveChild1,
4696/* 8662*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4697/* 8665*/ OPC_RecordChild0, // #1 = $off
4698/* 8666*/ OPC_MoveChild0,
4699/* 8667*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4700/* 8670*/ OPC_MoveParent,
4701/* 8671*/ OPC_MoveParent,
4702/* 8672*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
4703/* 8674*/ OPC_MoveParent,
4704/* 8675*/ OPC_CheckType, MVT::i32,
4705/* 8677*/ OPC_Scope, 25, /*->8704*/ // 2 children in Scope
4706/* 8679*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
4707/* 8681*/ OPC_EmitMergeInputChains1_0,
4708/* 8682*/ OPC_EmitInteger, MVT::i32, 0,
4709/* 8685*/ OPC_EmitInteger, MVT::i32, 0,
4710/* 8688*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
4711 MVT::i32, 1/*#Ops*/, 3, // Results = #4
4712/* 8695*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4713 MVT::i32, 3/*#Ops*/, 2, 1, 4,
4714 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 18
4715 // Dst: (ATOMIC_LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
4716/* 8704*/ /*Scope*/ 25, /*->8730*/
4717/* 8705*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
4718/* 8707*/ OPC_EmitMergeInputChains1_0,
4719/* 8708*/ OPC_EmitInteger, MVT::i32, 0,
4720/* 8711*/ OPC_EmitInteger, MVT::i64, 0,
4721/* 8714*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
4722 MVT::i64, 1/*#Ops*/, 3, // Results = #4
4723/* 8721*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4724 MVT::i32, 3/*#Ops*/, 2, 1, 4,
4725 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 18
4726 // Dst: (ATOMIC_LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
4727/* 8730*/ 0, /*End of Scope*/
4728/* 8731*/ /*Scope*/ 81, /*->8813*/
4729/* 8732*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4730/* 8736*/ OPC_MoveChild0,
4731/* 8737*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
4732/* 8740*/ OPC_RecordMemRef,
4733/* 8741*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
4734/* 8742*/ OPC_CheckFoldableChainNode,
4735/* 8743*/ OPC_MoveChild1,
4736/* 8744*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4737/* 8747*/ OPC_RecordChild0, // #1 = $off
4738/* 8748*/ OPC_MoveChild0,
4739/* 8749*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4740/* 8752*/ OPC_MoveParent,
4741/* 8753*/ OPC_MoveParent,
4742/* 8754*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
4743/* 8756*/ OPC_MoveParent,
4744/* 8757*/ OPC_CheckType, MVT::i32,
4745/* 8759*/ OPC_Scope, 25, /*->8786*/ // 2 children in Scope
4746/* 8761*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
4747/* 8763*/ OPC_EmitMergeInputChains1_0,
4748/* 8764*/ OPC_EmitInteger, MVT::i32, 0,
4749/* 8767*/ OPC_EmitInteger, MVT::i32, 0,
4750/* 8770*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
4751 MVT::i32, 1/*#Ops*/, 3, // Results = #4
4752/* 8777*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4753 MVT::i32, 3/*#Ops*/, 2, 1, 4,
4754 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 18
4755 // Dst: (ATOMIC_LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
4756/* 8786*/ /*Scope*/ 25, /*->8812*/
4757/* 8787*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
4758/* 8789*/ OPC_EmitMergeInputChains1_0,
4759/* 8790*/ OPC_EmitInteger, MVT::i32, 0,
4760/* 8793*/ OPC_EmitInteger, MVT::i64, 0,
4761/* 8796*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
4762 MVT::i64, 1/*#Ops*/, 3, // Results = #4
4763/* 8803*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4764 MVT::i32, 3/*#Ops*/, 2, 1, 4,
4765 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 18
4766 // Dst: (ATOMIC_LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
4767/* 8812*/ 0, /*End of Scope*/
4768/* 8813*/ /*Scope*/ 83, /*->8897*/
4769/* 8814*/ OPC_CheckAndImm, 127|128,1/*255*/,
4770/* 8817*/ OPC_MoveChild0,
4771/* 8818*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
4772/* 8821*/ OPC_RecordMemRef,
4773/* 8822*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
4774/* 8823*/ OPC_CheckFoldableChainNode,
4775/* 8824*/ OPC_MoveChild1,
4776/* 8825*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4777/* 8828*/ OPC_RecordChild0, // #1 = $off
4778/* 8829*/ OPC_MoveChild0,
4779/* 8830*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4780/* 8833*/ OPC_MoveParent,
4781/* 8834*/ OPC_MoveParent,
4782/* 8835*/ OPC_RecordChild2, // #2 = $val
4783/* 8836*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
4784/* 8838*/ OPC_MoveParent,
4785/* 8839*/ OPC_CheckType, MVT::i32,
4786/* 8841*/ OPC_Scope, 26, /*->8869*/ // 2 children in Scope
4787/* 8843*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
4788/* 8845*/ OPC_EmitMergeInputChains1_0,
4789/* 8846*/ OPC_EmitInteger, MVT::i32, 0,
4790/* 8849*/ OPC_EmitInteger, MVT::i32, 0,
4791/* 8852*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
4792 MVT::i32, 1/*#Ops*/, 4, // Results = #5
4793/* 8859*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4794 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
4795 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 18
4796 // Dst: (ATOMIC_RMW8_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
4797/* 8869*/ /*Scope*/ 26, /*->8896*/
4798/* 8870*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
4799/* 8872*/ OPC_EmitMergeInputChains1_0,
4800/* 8873*/ OPC_EmitInteger, MVT::i32, 0,
4801/* 8876*/ OPC_EmitInteger, MVT::i64, 0,
4802/* 8879*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
4803 MVT::i64, 1/*#Ops*/, 4, // Results = #5
4804/* 8886*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4805 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
4806 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 18
4807 // Dst: (ATOMIC_RMW8_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
4808/* 8896*/ 0, /*End of Scope*/
4809/* 8897*/ /*Scope*/ 84, /*->8982*/
4810/* 8898*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4811/* 8902*/ OPC_MoveChild0,
4812/* 8903*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
4813/* 8906*/ OPC_RecordMemRef,
4814/* 8907*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
4815/* 8908*/ OPC_CheckFoldableChainNode,
4816/* 8909*/ OPC_MoveChild1,
4817/* 8910*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4818/* 8913*/ OPC_RecordChild0, // #1 = $off
4819/* 8914*/ OPC_MoveChild0,
4820/* 8915*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4821/* 8918*/ OPC_MoveParent,
4822/* 8919*/ OPC_MoveParent,
4823/* 8920*/ OPC_RecordChild2, // #2 = $val
4824/* 8921*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
4825/* 8923*/ OPC_MoveParent,
4826/* 8924*/ OPC_CheckType, MVT::i32,
4827/* 8926*/ OPC_Scope, 26, /*->8954*/ // 2 children in Scope
4828/* 8928*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
4829/* 8930*/ OPC_EmitMergeInputChains1_0,
4830/* 8931*/ OPC_EmitInteger, MVT::i32, 0,
4831/* 8934*/ OPC_EmitInteger, MVT::i32, 0,
4832/* 8937*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
4833 MVT::i32, 1/*#Ops*/, 4, // Results = #5
4834/* 8944*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4835 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
4836 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 18
4837 // Dst: (ATOMIC_RMW16_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
4838/* 8954*/ /*Scope*/ 26, /*->8981*/
4839/* 8955*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
4840/* 8957*/ OPC_EmitMergeInputChains1_0,
4841/* 8958*/ OPC_EmitInteger, MVT::i32, 0,
4842/* 8961*/ OPC_EmitInteger, MVT::i64, 0,
4843/* 8964*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
4844 MVT::i64, 1/*#Ops*/, 4, // Results = #5
4845/* 8971*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4846 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
4847 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 18
4848 // Dst: (ATOMIC_RMW16_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
4849/* 8981*/ 0, /*End of Scope*/
4850/* 8982*/ /*Scope*/ 83, /*->9066*/
4851/* 8983*/ OPC_CheckAndImm, 127|128,1/*255*/,
4852/* 8986*/ OPC_MoveChild0,
4853/* 8987*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
4854/* 8990*/ OPC_RecordMemRef,
4855/* 8991*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
4856/* 8992*/ OPC_CheckFoldableChainNode,
4857/* 8993*/ OPC_MoveChild1,
4858/* 8994*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4859/* 8997*/ OPC_RecordChild0, // #1 = $off
4860/* 8998*/ OPC_MoveChild0,
4861/* 8999*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4862/* 9002*/ OPC_MoveParent,
4863/* 9003*/ OPC_MoveParent,
4864/* 9004*/ OPC_RecordChild2, // #2 = $val
4865/* 9005*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
4866/* 9007*/ OPC_MoveParent,
4867/* 9008*/ OPC_CheckType, MVT::i32,
4868/* 9010*/ OPC_Scope, 26, /*->9038*/ // 2 children in Scope
4869/* 9012*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
4870/* 9014*/ OPC_EmitMergeInputChains1_0,
4871/* 9015*/ OPC_EmitInteger, MVT::i32, 0,
4872/* 9018*/ OPC_EmitInteger, MVT::i32, 0,
4873/* 9021*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
4874 MVT::i32, 1/*#Ops*/, 4, // Results = #5
4875/* 9028*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4876 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
4877 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 18
4878 // Dst: (ATOMIC_RMW8_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
4879/* 9038*/ /*Scope*/ 26, /*->9065*/
4880/* 9039*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
4881/* 9041*/ OPC_EmitMergeInputChains1_0,
4882/* 9042*/ OPC_EmitInteger, MVT::i32, 0,
4883/* 9045*/ OPC_EmitInteger, MVT::i64, 0,
4884/* 9048*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
4885 MVT::i64, 1/*#Ops*/, 4, // Results = #5
4886/* 9055*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4887 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
4888 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 18
4889 // Dst: (ATOMIC_RMW8_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
4890/* 9065*/ 0, /*End of Scope*/
4891/* 9066*/ /*Scope*/ 84, /*->9151*/
4892/* 9067*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4893/* 9071*/ OPC_MoveChild0,
4894/* 9072*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
4895/* 9075*/ OPC_RecordMemRef,
4896/* 9076*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
4897/* 9077*/ OPC_CheckFoldableChainNode,
4898/* 9078*/ OPC_MoveChild1,
4899/* 9079*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4900/* 9082*/ OPC_RecordChild0, // #1 = $off
4901/* 9083*/ OPC_MoveChild0,
4902/* 9084*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4903/* 9087*/ OPC_MoveParent,
4904/* 9088*/ OPC_MoveParent,
4905/* 9089*/ OPC_RecordChild2, // #2 = $val
4906/* 9090*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
4907/* 9092*/ OPC_MoveParent,
4908/* 9093*/ OPC_CheckType, MVT::i32,
4909/* 9095*/ OPC_Scope, 26, /*->9123*/ // 2 children in Scope
4910/* 9097*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
4911/* 9099*/ OPC_EmitMergeInputChains1_0,
4912/* 9100*/ OPC_EmitInteger, MVT::i32, 0,
4913/* 9103*/ OPC_EmitInteger, MVT::i32, 0,
4914/* 9106*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
4915 MVT::i32, 1/*#Ops*/, 4, // Results = #5
4916/* 9113*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4917 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
4918 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 18
4919 // Dst: (ATOMIC_RMW16_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
4920/* 9123*/ /*Scope*/ 26, /*->9150*/
4921/* 9124*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
4922/* 9126*/ OPC_EmitMergeInputChains1_0,
4923/* 9127*/ OPC_EmitInteger, MVT::i32, 0,
4924/* 9130*/ OPC_EmitInteger, MVT::i64, 0,
4925/* 9133*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
4926 MVT::i64, 1/*#Ops*/, 4, // Results = #5
4927/* 9140*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4928 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
4929 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 18
4930 // Dst: (ATOMIC_RMW16_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
4931/* 9150*/ 0, /*End of Scope*/
4932/* 9151*/ /*Scope*/ 83, /*->9235*/
4933/* 9152*/ OPC_CheckAndImm, 127|128,1/*255*/,
4934/* 9155*/ OPC_MoveChild0,
4935/* 9156*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
4936/* 9159*/ OPC_RecordMemRef,
4937/* 9160*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
4938/* 9161*/ OPC_CheckFoldableChainNode,
4939/* 9162*/ OPC_MoveChild1,
4940/* 9163*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4941/* 9166*/ OPC_RecordChild0, // #1 = $off
4942/* 9167*/ OPC_MoveChild0,
4943/* 9168*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4944/* 9171*/ OPC_MoveParent,
4945/* 9172*/ OPC_MoveParent,
4946/* 9173*/ OPC_RecordChild2, // #2 = $val
4947/* 9174*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
4948/* 9176*/ OPC_MoveParent,
4949/* 9177*/ OPC_CheckType, MVT::i32,
4950/* 9179*/ OPC_Scope, 26, /*->9207*/ // 2 children in Scope
4951/* 9181*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
4952/* 9183*/ OPC_EmitMergeInputChains1_0,
4953/* 9184*/ OPC_EmitInteger, MVT::i32, 0,
4954/* 9187*/ OPC_EmitInteger, MVT::i32, 0,
4955/* 9190*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
4956 MVT::i32, 1/*#Ops*/, 4, // Results = #5
4957/* 9197*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4958 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
4959 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 18
4960 // Dst: (ATOMIC_RMW8_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
4961/* 9207*/ /*Scope*/ 26, /*->9234*/
4962/* 9208*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
4963/* 9210*/ OPC_EmitMergeInputChains1_0,
4964/* 9211*/ OPC_EmitInteger, MVT::i32, 0,
4965/* 9214*/ OPC_EmitInteger, MVT::i64, 0,
4966/* 9217*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
4967 MVT::i64, 1/*#Ops*/, 4, // Results = #5
4968/* 9224*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4969 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
4970 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 18
4971 // Dst: (ATOMIC_RMW8_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
4972/* 9234*/ 0, /*End of Scope*/
4973/* 9235*/ /*Scope*/ 84, /*->9320*/
4974/* 9236*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4975/* 9240*/ OPC_MoveChild0,
4976/* 9241*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
4977/* 9244*/ OPC_RecordMemRef,
4978/* 9245*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
4979/* 9246*/ OPC_CheckFoldableChainNode,
4980/* 9247*/ OPC_MoveChild1,
4981/* 9248*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4982/* 9251*/ OPC_RecordChild0, // #1 = $off
4983/* 9252*/ OPC_MoveChild0,
4984/* 9253*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4985/* 9256*/ OPC_MoveParent,
4986/* 9257*/ OPC_MoveParent,
4987/* 9258*/ OPC_RecordChild2, // #2 = $val
4988/* 9259*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
4989/* 9261*/ OPC_MoveParent,
4990/* 9262*/ OPC_CheckType, MVT::i32,
4991/* 9264*/ OPC_Scope, 26, /*->9292*/ // 2 children in Scope
4992/* 9266*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
4993/* 9268*/ OPC_EmitMergeInputChains1_0,
4994/* 9269*/ OPC_EmitInteger, MVT::i32, 0,
4995/* 9272*/ OPC_EmitInteger, MVT::i32, 0,
4996/* 9275*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
4997 MVT::i32, 1/*#Ops*/, 4, // Results = #5
4998/* 9282*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4999 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
5000 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 18
5001 // Dst: (ATOMIC_RMW16_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5002/* 9292*/ /*Scope*/ 26, /*->9319*/
5003/* 9293*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5004/* 9295*/ OPC_EmitMergeInputChains1_0,
5005/* 9296*/ OPC_EmitInteger, MVT::i32, 0,
5006/* 9299*/ OPC_EmitInteger, MVT::i64, 0,
5007/* 9302*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5008 MVT::i64, 1/*#Ops*/, 4, // Results = #5
5009/* 9309*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5010 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
5011 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 18
5012 // Dst: (ATOMIC_RMW16_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
5013/* 9319*/ 0, /*End of Scope*/
5014/* 9320*/ /*Scope*/ 83, /*->9404*/
5015/* 9321*/ OPC_CheckAndImm, 127|128,1/*255*/,
5016/* 9324*/ OPC_MoveChild0,
5017/* 9325*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
5018/* 9328*/ OPC_RecordMemRef,
5019/* 9329*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
5020/* 9330*/ OPC_CheckFoldableChainNode,
5021/* 9331*/ OPC_MoveChild1,
5022/* 9332*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5023/* 9335*/ OPC_RecordChild0, // #1 = $off
5024/* 9336*/ OPC_MoveChild0,
5025/* 9337*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5026/* 9340*/ OPC_MoveParent,
5027/* 9341*/ OPC_MoveParent,
5028/* 9342*/ OPC_RecordChild2, // #2 = $val
5029/* 9343*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
5030/* 9345*/ OPC_MoveParent,
5031/* 9346*/ OPC_CheckType, MVT::i32,
5032/* 9348*/ OPC_Scope, 26, /*->9376*/ // 2 children in Scope
5033/* 9350*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5034/* 9352*/ OPC_EmitMergeInputChains1_0,
5035/* 9353*/ OPC_EmitInteger, MVT::i32, 0,
5036/* 9356*/ OPC_EmitInteger, MVT::i32, 0,
5037/* 9359*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5038 MVT::i32, 1/*#Ops*/, 4, // Results = #5
5039/* 9366*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5040 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
5041 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 18
5042 // Dst: (ATOMIC_RMW8_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5043/* 9376*/ /*Scope*/ 26, /*->9403*/
5044/* 9377*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5045/* 9379*/ OPC_EmitMergeInputChains1_0,
5046/* 9380*/ OPC_EmitInteger, MVT::i32, 0,
5047/* 9383*/ OPC_EmitInteger, MVT::i64, 0,
5048/* 9386*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5049 MVT::i64, 1/*#Ops*/, 4, // Results = #5
5050/* 9393*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5051 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
5052 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 18
5053 // Dst: (ATOMIC_RMW8_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
5054/* 9403*/ 0, /*End of Scope*/
5055/* 9404*/ /*Scope*/ 84, /*->9489*/
5056/* 9405*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5057/* 9409*/ OPC_MoveChild0,
5058/* 9410*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
5059/* 9413*/ OPC_RecordMemRef,
5060/* 9414*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
5061/* 9415*/ OPC_CheckFoldableChainNode,
5062/* 9416*/ OPC_MoveChild1,
5063/* 9417*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5064/* 9420*/ OPC_RecordChild0, // #1 = $off
5065/* 9421*/ OPC_MoveChild0,
5066/* 9422*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5067/* 9425*/ OPC_MoveParent,
5068/* 9426*/ OPC_MoveParent,
5069/* 9427*/ OPC_RecordChild2, // #2 = $val
5070/* 9428*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
5071/* 9430*/ OPC_MoveParent,
5072/* 9431*/ OPC_CheckType, MVT::i32,
5073/* 9433*/ OPC_Scope, 26, /*->9461*/ // 2 children in Scope
5074/* 9435*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5075/* 9437*/ OPC_EmitMergeInputChains1_0,
5076/* 9438*/ OPC_EmitInteger, MVT::i32, 0,
5077/* 9441*/ OPC_EmitInteger, MVT::i32, 0,
5078/* 9444*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5079 MVT::i32, 1/*#Ops*/, 4, // Results = #5
5080/* 9451*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5081 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
5082 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 18
5083 // Dst: (ATOMIC_RMW16_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5084/* 9461*/ /*Scope*/ 26, /*->9488*/
5085/* 9462*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5086/* 9464*/ OPC_EmitMergeInputChains1_0,
5087/* 9465*/ OPC_EmitInteger, MVT::i32, 0,
5088/* 9468*/ OPC_EmitInteger, MVT::i64, 0,
5089/* 9471*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5090 MVT::i64, 1/*#Ops*/, 4, // Results = #5
5091/* 9478*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5092 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
5093 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 18
5094 // Dst: (ATOMIC_RMW16_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
5095/* 9488*/ 0, /*End of Scope*/
5096/* 9489*/ /*Scope*/ 83, /*->9573*/
5097/* 9490*/ OPC_CheckAndImm, 127|128,1/*255*/,
5098/* 9493*/ OPC_MoveChild0,
5099/* 9494*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
5100/* 9497*/ OPC_RecordMemRef,
5101/* 9498*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
5102/* 9499*/ OPC_CheckFoldableChainNode,
5103/* 9500*/ OPC_MoveChild1,
5104/* 9501*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5105/* 9504*/ OPC_RecordChild0, // #1 = $off
5106/* 9505*/ OPC_MoveChild0,
5107/* 9506*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5108/* 9509*/ OPC_MoveParent,
5109/* 9510*/ OPC_MoveParent,
5110/* 9511*/ OPC_RecordChild2, // #2 = $val
5111/* 9512*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
5112/* 9514*/ OPC_MoveParent,
5113/* 9515*/ OPC_CheckType, MVT::i32,
5114/* 9517*/ OPC_Scope, 26, /*->9545*/ // 2 children in Scope
5115/* 9519*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5116/* 9521*/ OPC_EmitMergeInputChains1_0,
5117/* 9522*/ OPC_EmitInteger, MVT::i32, 0,
5118/* 9525*/ OPC_EmitInteger, MVT::i32, 0,
5119/* 9528*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5120 MVT::i32, 1/*#Ops*/, 4, // Results = #5
5121/* 9535*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5122 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
5123 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 18
5124 // Dst: (ATOMIC_RMW8_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5125/* 9545*/ /*Scope*/ 26, /*->9572*/
5126/* 9546*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5127/* 9548*/ OPC_EmitMergeInputChains1_0,
5128/* 9549*/ OPC_EmitInteger, MVT::i32, 0,
5129/* 9552*/ OPC_EmitInteger, MVT::i64, 0,
5130/* 9555*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5131 MVT::i64, 1/*#Ops*/, 4, // Results = #5
5132/* 9562*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5133 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
5134 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 18
5135 // Dst: (ATOMIC_RMW8_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
5136/* 9572*/ 0, /*End of Scope*/
5137/* 9573*/ /*Scope*/ 84, /*->9658*/
5138/* 9574*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5139/* 9578*/ OPC_MoveChild0,
5140/* 9579*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
5141/* 9582*/ OPC_RecordMemRef,
5142/* 9583*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
5143/* 9584*/ OPC_CheckFoldableChainNode,
5144/* 9585*/ OPC_MoveChild1,
5145/* 9586*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5146/* 9589*/ OPC_RecordChild0, // #1 = $off
5147/* 9590*/ OPC_MoveChild0,
5148/* 9591*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5149/* 9594*/ OPC_MoveParent,
5150/* 9595*/ OPC_MoveParent,
5151/* 9596*/ OPC_RecordChild2, // #2 = $val
5152/* 9597*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
5153/* 9599*/ OPC_MoveParent,
5154/* 9600*/ OPC_CheckType, MVT::i32,
5155/* 9602*/ OPC_Scope, 26, /*->9630*/ // 2 children in Scope
5156/* 9604*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5157/* 9606*/ OPC_EmitMergeInputChains1_0,
5158/* 9607*/ OPC_EmitInteger, MVT::i32, 0,
5159/* 9610*/ OPC_EmitInteger, MVT::i32, 0,
5160/* 9613*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5161 MVT::i32, 1/*#Ops*/, 4, // Results = #5
5162/* 9620*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5163 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
5164 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 18
5165 // Dst: (ATOMIC_RMW16_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5166/* 9630*/ /*Scope*/ 26, /*->9657*/
5167/* 9631*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5168/* 9633*/ OPC_EmitMergeInputChains1_0,
5169/* 9634*/ OPC_EmitInteger, MVT::i32, 0,
5170/* 9637*/ OPC_EmitInteger, MVT::i64, 0,
5171/* 9640*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5172 MVT::i64, 1/*#Ops*/, 4, // Results = #5
5173/* 9647*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5174 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
5175 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 18
5176 // Dst: (ATOMIC_RMW16_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
5177/* 9657*/ 0, /*End of Scope*/
5178/* 9658*/ /*Scope*/ 83, /*->9742*/
5179/* 9659*/ OPC_CheckAndImm, 127|128,1/*255*/,
5180/* 9662*/ OPC_MoveChild0,
5181/* 9663*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
5182/* 9666*/ OPC_RecordMemRef,
5183/* 9667*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
5184/* 9668*/ OPC_CheckFoldableChainNode,
5185/* 9669*/ OPC_MoveChild1,
5186/* 9670*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5187/* 9673*/ OPC_RecordChild0, // #1 = $off
5188/* 9674*/ OPC_MoveChild0,
5189/* 9675*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5190/* 9678*/ OPC_MoveParent,
5191/* 9679*/ OPC_MoveParent,
5192/* 9680*/ OPC_RecordChild2, // #2 = $val
5193/* 9681*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
5194/* 9683*/ OPC_MoveParent,
5195/* 9684*/ OPC_CheckType, MVT::i32,
5196/* 9686*/ OPC_Scope, 26, /*->9714*/ // 2 children in Scope
5197/* 9688*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5198/* 9690*/ OPC_EmitMergeInputChains1_0,
5199/* 9691*/ OPC_EmitInteger, MVT::i32, 0,
5200/* 9694*/ OPC_EmitInteger, MVT::i32, 0,
5201/* 9697*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5202 MVT::i32, 1/*#Ops*/, 4, // Results = #5
5203/* 9704*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5204 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
5205 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 18
5206 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5207/* 9714*/ /*Scope*/ 26, /*->9741*/
5208/* 9715*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5209/* 9717*/ OPC_EmitMergeInputChains1_0,
5210/* 9718*/ OPC_EmitInteger, MVT::i32, 0,
5211/* 9721*/ OPC_EmitInteger, MVT::i64, 0,
5212/* 9724*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5213 MVT::i64, 1/*#Ops*/, 4, // Results = #5
5214/* 9731*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5215 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
5216 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 18
5217 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
5218/* 9741*/ 0, /*End of Scope*/
5219/* 9742*/ /*Scope*/ 84, /*->9827*/
5220/* 9743*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5221/* 9747*/ OPC_MoveChild0,
5222/* 9748*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
5223/* 9751*/ OPC_RecordMemRef,
5224/* 9752*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
5225/* 9753*/ OPC_CheckFoldableChainNode,
5226/* 9754*/ OPC_MoveChild1,
5227/* 9755*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5228/* 9758*/ OPC_RecordChild0, // #1 = $off
5229/* 9759*/ OPC_MoveChild0,
5230/* 9760*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5231/* 9763*/ OPC_MoveParent,
5232/* 9764*/ OPC_MoveParent,
5233/* 9765*/ OPC_RecordChild2, // #2 = $val
5234/* 9766*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
5235/* 9768*/ OPC_MoveParent,
5236/* 9769*/ OPC_CheckType, MVT::i32,
5237/* 9771*/ OPC_Scope, 26, /*->9799*/ // 2 children in Scope
5238/* 9773*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5239/* 9775*/ OPC_EmitMergeInputChains1_0,
5240/* 9776*/ OPC_EmitInteger, MVT::i32, 0,
5241/* 9779*/ OPC_EmitInteger, MVT::i32, 0,
5242/* 9782*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5243 MVT::i32, 1/*#Ops*/, 4, // Results = #5
5244/* 9789*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5245 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
5246 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 18
5247 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5248/* 9799*/ /*Scope*/ 26, /*->9826*/
5249/* 9800*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5250/* 9802*/ OPC_EmitMergeInputChains1_0,
5251/* 9803*/ OPC_EmitInteger, MVT::i32, 0,
5252/* 9806*/ OPC_EmitInteger, MVT::i64, 0,
5253/* 9809*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5254 MVT::i64, 1/*#Ops*/, 4, // Results = #5
5255/* 9816*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5256 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
5257 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 18
5258 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
5259/* 9826*/ 0, /*End of Scope*/
5260/* 9827*/ /*Scope*/ 86, /*->9914*/
5261/* 9828*/ OPC_CheckAndImm, 127|128,1/*255*/,
5262/* 9831*/ OPC_MoveChild0,
5263/* 9832*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
5264/* 9835*/ OPC_RecordMemRef,
5265/* 9836*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
5266/* 9837*/ OPC_CheckFoldableChainNode,
5267/* 9838*/ OPC_MoveChild1,
5268/* 9839*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5269/* 9842*/ OPC_RecordChild0, // #1 = $off
5270/* 9843*/ OPC_MoveChild0,
5271/* 9844*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5272/* 9847*/ OPC_MoveParent,
5273/* 9848*/ OPC_MoveParent,
5274/* 9849*/ OPC_RecordChild2, // #2 = $exp
5275/* 9850*/ OPC_RecordChild3, // #3 = $new
5276/* 9851*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
5277/* 9853*/ OPC_MoveParent,
5278/* 9854*/ OPC_CheckType, MVT::i32,
5279/* 9856*/ OPC_Scope, 27, /*->9885*/ // 2 children in Scope
5280/* 9858*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5281/* 9860*/ OPC_EmitMergeInputChains1_0,
5282/* 9861*/ OPC_EmitInteger, MVT::i32, 0,
5283/* 9864*/ OPC_EmitInteger, MVT::i32, 0,
5284/* 9867*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5285 MVT::i32, 1/*#Ops*/, 5, // Results = #6
5286/* 9874*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5287 MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
5288 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 18
5289 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
5290/* 9885*/ /*Scope*/ 27, /*->9913*/
5291/* 9886*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5292/* 9888*/ OPC_EmitMergeInputChains1_0,
5293/* 9889*/ OPC_EmitInteger, MVT::i32, 0,
5294/* 9892*/ OPC_EmitInteger, MVT::i64, 0,
5295/* 9895*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5296 MVT::i64, 1/*#Ops*/, 5, // Results = #6
5297/* 9902*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5298 MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
5299 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 18
5300 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
5301/* 9913*/ 0, /*End of Scope*/
5302/* 9914*/ /*Scope*/ 87, /*->10002*/
5303/* 9915*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5304/* 9919*/ OPC_MoveChild0,
5305/* 9920*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
5306/* 9923*/ OPC_RecordMemRef,
5307/* 9924*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
5308/* 9925*/ OPC_CheckFoldableChainNode,
5309/* 9926*/ OPC_MoveChild1,
5310/* 9927*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5311/* 9930*/ OPC_RecordChild0, // #1 = $off
5312/* 9931*/ OPC_MoveChild0,
5313/* 9932*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5314/* 9935*/ OPC_MoveParent,
5315/* 9936*/ OPC_MoveParent,
5316/* 9937*/ OPC_RecordChild2, // #2 = $exp
5317/* 9938*/ OPC_RecordChild3, // #3 = $new
5318/* 9939*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
5319/* 9941*/ OPC_MoveParent,
5320/* 9942*/ OPC_CheckType, MVT::i32,
5321/* 9944*/ OPC_Scope, 27, /*->9973*/ // 2 children in Scope
5322/* 9946*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5323/* 9948*/ OPC_EmitMergeInputChains1_0,
5324/* 9949*/ OPC_EmitInteger, MVT::i32, 0,
5325/* 9952*/ OPC_EmitInteger, MVT::i32, 0,
5326/* 9955*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5327 MVT::i32, 1/*#Ops*/, 5, // Results = #6
5328/* 9962*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5329 MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
5330 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 18
5331 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
5332/* 9973*/ /*Scope*/ 27, /*->10001*/
5333/* 9974*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
5334/* 9976*/ OPC_EmitMergeInputChains1_0,
5335/* 9977*/ OPC_EmitInteger, MVT::i32, 0,
5336/* 9980*/ OPC_EmitInteger, MVT::i64, 0,
5337/* 9983*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5338 MVT::i64, 1/*#Ops*/, 5, // Results = #6
5339/* 9990*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5340 MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
5341 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 18
5342 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
5343/* 10001*/ 0, /*End of Scope*/
5344/* 10002*/ /*Scope*/ 124, /*->10127*/
5345/* 10003*/ OPC_MoveChild0,
5346/* 10004*/ OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
5347/* 10007*/ OPC_Scope, 58, /*->10067*/ // 2 children in Scope
5348/* 10009*/ OPC_CheckChild0Integer, 15|128,67/*8591*/,
5349/* 10012*/ OPC_RecordChild1, // #0 = $x
5350/* 10013*/ OPC_Scope, 12, /*->10027*/ // 4 children in Scope
5351/* 10015*/ OPC_CheckChild1Type, MVT::v16i8,
5352/* 10017*/ OPC_MoveParent,
5353/* 10018*/ OPC_CheckChild1Integer, 1,
5354/* 10020*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_I8x16), 0,
5355 MVT::i32, 1/*#Ops*/, 0,
5356 // Src: (and:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8591:{ *:[iPTR] }, V128:{ *:[v16i8] }:$x), 1:{ *:[i32] }) - Complexity = 16
5357 // Dst: (ANYTRUE_I8x16:{ *:[i32] } ?:{ *:[v16i8] }:$x)
5358/* 10027*/ /*Scope*/ 12, /*->10040*/
5359/* 10028*/ OPC_CheckChild1Type, MVT::v8i16,
5360/* 10030*/ OPC_MoveParent,
5361/* 10031*/ OPC_CheckChild1Integer, 1,
5362/* 10033*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_I16x8), 0,
5363 MVT::i32, 1/*#Ops*/, 0,
5364 // Src: (and:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8591:{ *:[iPTR] }, V128:{ *:[v8i16] }:$x), 1:{ *:[i32] }) - Complexity = 16
5365 // Dst: (ANYTRUE_I16x8:{ *:[i32] } ?:{ *:[v8i16] }:$x)
5366/* 10040*/ /*Scope*/ 12, /*->10053*/
5367/* 10041*/ OPC_CheckChild1Type, MVT::v4i32,
5368/* 10043*/ OPC_MoveParent,
5369/* 10044*/ OPC_CheckChild1Integer, 1,
5370/* 10046*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_I32x4), 0,
5371 MVT::i32, 1/*#Ops*/, 0,
5372 // Src: (and:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8591:{ *:[iPTR] }, V128:{ *:[v4i32] }:$x), 1:{ *:[i32] }) - Complexity = 16
5373 // Dst: (ANYTRUE_I32x4:{ *:[i32] } ?:{ *:[v4i32] }:$x)
5374/* 10053*/ /*Scope*/ 12, /*->10066*/
5375/* 10054*/ OPC_CheckChild1Type, MVT::v2i64,
5376/* 10056*/ OPC_MoveParent,
5377/* 10057*/ OPC_CheckChild1Integer, 1,
5378/* 10059*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_I64x2), 0,
5379 MVT::i32, 1/*#Ops*/, 0,
5380 // Src: (and:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8591:{ *:[iPTR] }, V128:{ *:[v2i64] }:$x), 1:{ *:[i32] }) - Complexity = 16
5381 // Dst: (ANYTRUE_I64x2:{ *:[i32] } ?:{ *:[v2i64] }:$x)
5382/* 10066*/ 0, /*End of Scope*/
5383/* 10067*/ /*Scope*/ 58, /*->10126*/
5384/* 10068*/ OPC_CheckChild0Integer, 14|128,67/*8590*/,
5385/* 10071*/ OPC_RecordChild1, // #0 = $x
5386/* 10072*/ OPC_Scope, 12, /*->10086*/ // 4 children in Scope
5387/* 10074*/ OPC_CheckChild1Type, MVT::v16i8,
5388/* 10076*/ OPC_MoveParent,
5389/* 10077*/ OPC_CheckChild1Integer, 1,
5390/* 10079*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_I8x16), 0,
5391 MVT::i32, 1/*#Ops*/, 0,
5392 // Src: (and:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8590:{ *:[iPTR] }, V128:{ *:[v16i8] }:$x), 1:{ *:[i32] }) - Complexity = 16
5393 // Dst: (ALLTRUE_I8x16:{ *:[i32] } ?:{ *:[v16i8] }:$x)
5394/* 10086*/ /*Scope*/ 12, /*->10099*/
5395/* 10087*/ OPC_CheckChild1Type, MVT::v8i16,
5396/* 10089*/ OPC_MoveParent,
5397/* 10090*/ OPC_CheckChild1Integer, 1,
5398/* 10092*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_I16x8), 0,
5399 MVT::i32, 1/*#Ops*/, 0,
5400 // Src: (and:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8590:{ *:[iPTR] }, V128:{ *:[v8i16] }:$x), 1:{ *:[i32] }) - Complexity = 16
5401 // Dst: (ALLTRUE_I16x8:{ *:[i32] } ?:{ *:[v8i16] }:$x)
5402/* 10099*/ /*Scope*/ 12, /*->10112*/
5403/* 10100*/ OPC_CheckChild1Type, MVT::v4i32,
5404/* 10102*/ OPC_MoveParent,
5405/* 10103*/ OPC_CheckChild1Integer, 1,
5406/* 10105*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_I32x4), 0,
5407 MVT::i32, 1/*#Ops*/, 0,
5408 // Src: (and:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8590:{ *:[iPTR] }, V128:{ *:[v4i32] }:$x), 1:{ *:[i32] }) - Complexity = 16
5409 // Dst: (ALLTRUE_I32x4:{ *:[i32] } ?:{ *:[v4i32] }:$x)
5410/* 10112*/ /*Scope*/ 12, /*->10125*/
5411/* 10113*/ OPC_CheckChild1Type, MVT::v2i64,
5412/* 10115*/ OPC_MoveParent,
5413/* 10116*/ OPC_CheckChild1Integer, 1,
5414/* 10118*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_I64x2), 0,
5415 MVT::i32, 1/*#Ops*/, 0,
5416 // Src: (and:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8590:{ *:[iPTR] }, V128:{ *:[v2i64] }:$x), 1:{ *:[i32] }) - Complexity = 16
5417 // Dst: (ALLTRUE_I64x2:{ *:[i32] } ?:{ *:[v2i64] }:$x)
5418/* 10125*/ 0, /*End of Scope*/
5419/* 10126*/ 0, /*End of Scope*/
5420/* 10127*/ /*Scope*/ 67, /*->10195*/
5421/* 10128*/ OPC_CheckAndImm, 127|128,1/*255*/,
5422/* 10131*/ OPC_MoveChild0,
5423/* 10132*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
5424/* 10135*/ OPC_MoveChild0,
5425/* 10136*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
5426/* 10139*/ OPC_RecordMemRef,
5427/* 10140*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
5428/* 10141*/ OPC_CheckFoldableChainNode,
5429/* 10142*/ OPC_RecordChild1, // #1 = $addr
5430/* 10143*/ OPC_Scope, 24, /*->10169*/ // 2 children in Scope
5431/* 10145*/ OPC_CheckChild1Type, MVT::i32,
5432/* 10147*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
5433/* 10149*/ OPC_MoveParent,
5434/* 10150*/ OPC_MoveParent,
5435/* 10151*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
5436/* 10153*/ OPC_EmitMergeInputChains1_0,
5437/* 10154*/ OPC_EmitInteger, MVT::i32, 0,
5438/* 10157*/ OPC_EmitInteger, MVT::i32, 0,
5439/* 10160*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
5440 MVT::i64, 3/*#Ops*/, 2, 3, 1,
5441 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 15
5442 // Dst: (ATOMIC_LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
5443/* 10169*/ /*Scope*/ 24, /*->10194*/
5444/* 10170*/ OPC_CheckChild1Type, MVT::i64,
5445/* 10172*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
5446/* 10174*/ OPC_MoveParent,
5447/* 10175*/ OPC_MoveParent,
5448/* 10176*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
5449/* 10178*/ OPC_EmitMergeInputChains1_0,
5450/* 10179*/ OPC_EmitInteger, MVT::i32, 0,
5451/* 10182*/ OPC_EmitInteger, MVT::i64, 0,
5452/* 10185*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
5453 MVT::i64, 3/*#Ops*/, 2, 3, 1,
5454 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 15
5455 // Dst: (ATOMIC_LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
5456/* 10194*/ 0, /*End of Scope*/
5457/* 10195*/ /*Scope*/ 68, /*->10264*/
5458/* 10196*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5459/* 10200*/ OPC_MoveChild0,
5460/* 10201*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
5461/* 10204*/ OPC_MoveChild0,
5462/* 10205*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
5463/* 10208*/ OPC_RecordMemRef,
5464/* 10209*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
5465/* 10210*/ OPC_CheckFoldableChainNode,
5466/* 10211*/ OPC_RecordChild1, // #1 = $addr
5467/* 10212*/ OPC_Scope, 24, /*->10238*/ // 2 children in Scope
5468/* 10214*/ OPC_CheckChild1Type, MVT::i32,
5469/* 10216*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
5470/* 10218*/ OPC_MoveParent,
5471/* 10219*/ OPC_MoveParent,
5472/* 10220*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
5473/* 10222*/ OPC_EmitMergeInputChains1_0,
5474/* 10223*/ OPC_EmitInteger, MVT::i32, 0,
5475/* 10226*/ OPC_EmitInteger, MVT::i32, 0,
5476/* 10229*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
5477 MVT::i64, 3/*#Ops*/, 2, 3, 1,
5478 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 15
5479 // Dst: (ATOMIC_LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
5480/* 10238*/ /*Scope*/ 24, /*->10263*/
5481/* 10239*/ OPC_CheckChild1Type, MVT::i64,
5482/* 10241*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
5483/* 10243*/ OPC_MoveParent,
5484/* 10244*/ OPC_MoveParent,
5485/* 10245*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
5486/* 10247*/ OPC_EmitMergeInputChains1_0,
5487/* 10248*/ OPC_EmitInteger, MVT::i32, 0,
5488/* 10251*/ OPC_EmitInteger, MVT::i64, 0,
5489/* 10254*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
5490 MVT::i64, 3/*#Ops*/, 2, 3, 1,
5491 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 15
5492 // Dst: (ATOMIC_LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
5493/* 10263*/ 0, /*End of Scope*/
5494/* 10264*/ /*Scope*/ 33, /*->10298*/
5495/* 10265*/ OPC_CheckAndImm, 127|128,1/*255*/,
5496/* 10268*/ OPC_MoveChild0,
5497/* 10269*/ OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
5498/* 10272*/ OPC_RecordChild0, // #0 = $vec
5499/* 10273*/ OPC_CheckChild0Type, MVT::v16i8,
5500/* 10275*/ OPC_RecordChild1, // #1 = $idx
5501/* 10276*/ OPC_MoveChild1,
5502/* 10277*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5503/* 10280*/ OPC_CheckPredicate, 4, // Predicate_LaneIdx16
5504/* 10282*/ OPC_CheckType, MVT::i32,
5505/* 10284*/ OPC_MoveParent,
5506/* 10285*/ OPC_MoveParent,
5507/* 10286*/ OPC_CheckType, MVT::i32,
5508/* 10288*/ OPC_EmitConvertToTarget, 1,
5509/* 10290*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I8x16_u), 0,
5510 MVT::i32, 2/*#Ops*/, 0, 2,
5511 // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx), 255:{ *:[i32] }) - Complexity = 15
5512 // Dst: (EXTRACT_LANE_I8x16_u:{ *:[i32] } ?:{ *:[v16i8] }:$vec, (imm:{ *:[i32] }):$idx)
5513/* 10298*/ /*Scope*/ 34, /*->10333*/
5514/* 10299*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5515/* 10303*/ OPC_MoveChild0,
5516/* 10304*/ OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
5517/* 10307*/ OPC_RecordChild0, // #0 = $vec
5518/* 10308*/ OPC_CheckChild0Type, MVT::v8i16,
5519/* 10310*/ OPC_RecordChild1, // #1 = $idx
5520/* 10311*/ OPC_MoveChild1,
5521/* 10312*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5522/* 10315*/ OPC_CheckPredicate, 5, // Predicate_LaneIdx8
5523/* 10317*/ OPC_CheckType, MVT::i32,
5524/* 10319*/ OPC_MoveParent,
5525/* 10320*/ OPC_MoveParent,
5526/* 10321*/ OPC_CheckType, MVT::i32,
5527/* 10323*/ OPC_EmitConvertToTarget, 1,
5528/* 10325*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I16x8_u), 0,
5529 MVT::i32, 2/*#Ops*/, 0, 2,
5530 // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx), 65535:{ *:[i32] }) - Complexity = 15
5531 // Dst: (EXTRACT_LANE_I16x8_u:{ *:[i32] } ?:{ *:[v8i16] }:$vec, (imm:{ *:[i32] }):$idx)
5532/* 10333*/ /*Scope*/ 79, /*->10413*/
5533/* 10334*/ OPC_CheckAndImm, 127|128,1/*255*/,
5534/* 10337*/ OPC_MoveChild0,
5535/* 10338*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
5536/* 10341*/ OPC_RecordMemRef,
5537/* 10342*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
5538/* 10343*/ OPC_CheckFoldableChainNode,
5539/* 10344*/ OPC_RecordChild1, // #1 = $off
5540/* 10345*/ OPC_MoveChild1,
5541/* 10346*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5542/* 10349*/ OPC_MoveParent,
5543/* 10350*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
5544/* 10352*/ OPC_MoveParent,
5545/* 10353*/ OPC_CheckType, MVT::i32,
5546/* 10355*/ OPC_Scope, 27, /*->10384*/ // 2 children in Scope
5547/* 10357*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
5548/* 10359*/ OPC_EmitMergeInputChains1_0,
5549/* 10360*/ OPC_EmitInteger, MVT::i32, 0,
5550/* 10363*/ OPC_EmitConvertToTarget, 1,
5551/* 10365*/ OPC_EmitInteger, MVT::i32, 0,
5552/* 10368*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5553 MVT::i32, 1/*#Ops*/, 4, // Results = #5
5554/* 10375*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5555 MVT::i32, 3/*#Ops*/, 2, 3, 5,
5556 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 15
5557 // Dst: (ATOMIC_LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
5558/* 10384*/ /*Scope*/ 27, /*->10412*/
5559/* 10385*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
5560/* 10387*/ OPC_EmitMergeInputChains1_0,
5561/* 10388*/ OPC_EmitInteger, MVT::i32, 0,
5562/* 10391*/ OPC_EmitConvertToTarget, 1,
5563/* 10393*/ OPC_EmitInteger, MVT::i64, 0,
5564/* 10396*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5565 MVT::i64, 1/*#Ops*/, 4, // Results = #5
5566/* 10403*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5567 MVT::i32, 3/*#Ops*/, 2, 3, 5,
5568 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 15
5569 // Dst: (ATOMIC_LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
5570/* 10412*/ 0, /*End of Scope*/
5571/* 10413*/ /*Scope*/ 80, /*->10494*/
5572/* 10414*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5573/* 10418*/ OPC_MoveChild0,
5574/* 10419*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
5575/* 10422*/ OPC_RecordMemRef,
5576/* 10423*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
5577/* 10424*/ OPC_CheckFoldableChainNode,
5578/* 10425*/ OPC_RecordChild1, // #1 = $off
5579/* 10426*/ OPC_MoveChild1,
5580/* 10427*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5581/* 10430*/ OPC_MoveParent,
5582/* 10431*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
5583/* 10433*/ OPC_MoveParent,
5584/* 10434*/ OPC_CheckType, MVT::i32,
5585/* 10436*/ OPC_Scope, 27, /*->10465*/ // 2 children in Scope
5586/* 10438*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
5587/* 10440*/ OPC_EmitMergeInputChains1_0,
5588/* 10441*/ OPC_EmitInteger, MVT::i32, 0,
5589/* 10444*/ OPC_EmitConvertToTarget, 1,
5590/* 10446*/ OPC_EmitInteger, MVT::i32, 0,
5591/* 10449*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5592 MVT::i32, 1/*#Ops*/, 4, // Results = #5
5593/* 10456*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5594 MVT::i32, 3/*#Ops*/, 2, 3, 5,
5595 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 15
5596 // Dst: (ATOMIC_LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
5597/* 10465*/ /*Scope*/ 27, /*->10493*/
5598/* 10466*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
5599/* 10468*/ OPC_EmitMergeInputChains1_0,
5600/* 10469*/ OPC_EmitInteger, MVT::i32, 0,
5601/* 10472*/ OPC_EmitConvertToTarget, 1,
5602/* 10474*/ OPC_EmitInteger, MVT::i64, 0,
5603/* 10477*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5604 MVT::i64, 1/*#Ops*/, 4, // Results = #5
5605/* 10484*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5606 MVT::i32, 3/*#Ops*/, 2, 3, 5,
5607 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 15
5608 // Dst: (ATOMIC_LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
5609/* 10493*/ 0, /*End of Scope*/
5610/* 10494*/ /*Scope*/ 82, /*->10577*/
5611/* 10495*/ OPC_CheckAndImm, 127|128,1/*255*/,
5612/* 10498*/ OPC_MoveChild0,
5613/* 10499*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
5614/* 10502*/ OPC_RecordMemRef,
5615/* 10503*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
5616/* 10504*/ OPC_CheckFoldableChainNode,
5617/* 10505*/ OPC_RecordChild1, // #1 = $off
5618/* 10506*/ OPC_MoveChild1,
5619/* 10507*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5620/* 10510*/ OPC_MoveParent,
5621/* 10511*/ OPC_RecordChild2, // #2 = $val
5622/* 10512*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
5623/* 10514*/ OPC_MoveParent,
5624/* 10515*/ OPC_CheckType, MVT::i32,
5625/* 10517*/ OPC_Scope, 28, /*->10547*/ // 2 children in Scope
5626/* 10519*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5627/* 10521*/ OPC_EmitMergeInputChains1_0,
5628/* 10522*/ OPC_EmitInteger, MVT::i32, 0,
5629/* 10525*/ OPC_EmitConvertToTarget, 1,
5630/* 10527*/ OPC_EmitInteger, MVT::i32, 0,
5631/* 10530*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5632 MVT::i32, 1/*#Ops*/, 5, // Results = #6
5633/* 10537*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5634 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5635 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 15
5636 // Dst: (ATOMIC_RMW8_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5637/* 10547*/ /*Scope*/ 28, /*->10576*/
5638/* 10548*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5639/* 10550*/ OPC_EmitMergeInputChains1_0,
5640/* 10551*/ OPC_EmitInteger, MVT::i32, 0,
5641/* 10554*/ OPC_EmitConvertToTarget, 1,
5642/* 10556*/ OPC_EmitInteger, MVT::i64, 0,
5643/* 10559*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5644 MVT::i64, 1/*#Ops*/, 5, // Results = #6
5645/* 10566*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5646 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5647 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 15
5648 // Dst: (ATOMIC_RMW8_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
5649/* 10576*/ 0, /*End of Scope*/
5650/* 10577*/ /*Scope*/ 83, /*->10661*/
5651/* 10578*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5652/* 10582*/ OPC_MoveChild0,
5653/* 10583*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
5654/* 10586*/ OPC_RecordMemRef,
5655/* 10587*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
5656/* 10588*/ OPC_CheckFoldableChainNode,
5657/* 10589*/ OPC_RecordChild1, // #1 = $off
5658/* 10590*/ OPC_MoveChild1,
5659/* 10591*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5660/* 10594*/ OPC_MoveParent,
5661/* 10595*/ OPC_RecordChild2, // #2 = $val
5662/* 10596*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
5663/* 10598*/ OPC_MoveParent,
5664/* 10599*/ OPC_CheckType, MVT::i32,
5665/* 10601*/ OPC_Scope, 28, /*->10631*/ // 2 children in Scope
5666/* 10603*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5667/* 10605*/ OPC_EmitMergeInputChains1_0,
5668/* 10606*/ OPC_EmitInteger, MVT::i32, 0,
5669/* 10609*/ OPC_EmitConvertToTarget, 1,
5670/* 10611*/ OPC_EmitInteger, MVT::i32, 0,
5671/* 10614*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5672 MVT::i32, 1/*#Ops*/, 5, // Results = #6
5673/* 10621*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5674 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5675 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 15
5676 // Dst: (ATOMIC_RMW16_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5677/* 10631*/ /*Scope*/ 28, /*->10660*/
5678/* 10632*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5679/* 10634*/ OPC_EmitMergeInputChains1_0,
5680/* 10635*/ OPC_EmitInteger, MVT::i32, 0,
5681/* 10638*/ OPC_EmitConvertToTarget, 1,
5682/* 10640*/ OPC_EmitInteger, MVT::i64, 0,
5683/* 10643*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5684 MVT::i64, 1/*#Ops*/, 5, // Results = #6
5685/* 10650*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5686 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5687 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 15
5688 // Dst: (ATOMIC_RMW16_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
5689/* 10660*/ 0, /*End of Scope*/
5690/* 10661*/ /*Scope*/ 82, /*->10744*/
5691/* 10662*/ OPC_CheckAndImm, 127|128,1/*255*/,
5692/* 10665*/ OPC_MoveChild0,
5693/* 10666*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
5694/* 10669*/ OPC_RecordMemRef,
5695/* 10670*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
5696/* 10671*/ OPC_CheckFoldableChainNode,
5697/* 10672*/ OPC_RecordChild1, // #1 = $off
5698/* 10673*/ OPC_MoveChild1,
5699/* 10674*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5700/* 10677*/ OPC_MoveParent,
5701/* 10678*/ OPC_RecordChild2, // #2 = $val
5702/* 10679*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
5703/* 10681*/ OPC_MoveParent,
5704/* 10682*/ OPC_CheckType, MVT::i32,
5705/* 10684*/ OPC_Scope, 28, /*->10714*/ // 2 children in Scope
5706/* 10686*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5707/* 10688*/ OPC_EmitMergeInputChains1_0,
5708/* 10689*/ OPC_EmitInteger, MVT::i32, 0,
5709/* 10692*/ OPC_EmitConvertToTarget, 1,
5710/* 10694*/ OPC_EmitInteger, MVT::i32, 0,
5711/* 10697*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5712 MVT::i32, 1/*#Ops*/, 5, // Results = #6
5713/* 10704*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5714 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5715 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 15
5716 // Dst: (ATOMIC_RMW8_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5717/* 10714*/ /*Scope*/ 28, /*->10743*/
5718/* 10715*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5719/* 10717*/ OPC_EmitMergeInputChains1_0,
5720/* 10718*/ OPC_EmitInteger, MVT::i32, 0,
5721/* 10721*/ OPC_EmitConvertToTarget, 1,
5722/* 10723*/ OPC_EmitInteger, MVT::i64, 0,
5723/* 10726*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5724 MVT::i64, 1/*#Ops*/, 5, // Results = #6
5725/* 10733*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5726 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5727 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 15
5728 // Dst: (ATOMIC_RMW8_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
5729/* 10743*/ 0, /*End of Scope*/
5730/* 10744*/ /*Scope*/ 83, /*->10828*/
5731/* 10745*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5732/* 10749*/ OPC_MoveChild0,
5733/* 10750*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
5734/* 10753*/ OPC_RecordMemRef,
5735/* 10754*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
5736/* 10755*/ OPC_CheckFoldableChainNode,
5737/* 10756*/ OPC_RecordChild1, // #1 = $off
5738/* 10757*/ OPC_MoveChild1,
5739/* 10758*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5740/* 10761*/ OPC_MoveParent,
5741/* 10762*/ OPC_RecordChild2, // #2 = $val
5742/* 10763*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
5743/* 10765*/ OPC_MoveParent,
5744/* 10766*/ OPC_CheckType, MVT::i32,
5745/* 10768*/ OPC_Scope, 28, /*->10798*/ // 2 children in Scope
5746/* 10770*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5747/* 10772*/ OPC_EmitMergeInputChains1_0,
5748/* 10773*/ OPC_EmitInteger, MVT::i32, 0,
5749/* 10776*/ OPC_EmitConvertToTarget, 1,
5750/* 10778*/ OPC_EmitInteger, MVT::i32, 0,
5751/* 10781*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5752 MVT::i32, 1/*#Ops*/, 5, // Results = #6
5753/* 10788*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5754 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5755 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 15
5756 // Dst: (ATOMIC_RMW16_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5757/* 10798*/ /*Scope*/ 28, /*->10827*/
5758/* 10799*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5759/* 10801*/ OPC_EmitMergeInputChains1_0,
5760/* 10802*/ OPC_EmitInteger, MVT::i32, 0,
5761/* 10805*/ OPC_EmitConvertToTarget, 1,
5762/* 10807*/ OPC_EmitInteger, MVT::i64, 0,
5763/* 10810*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5764 MVT::i64, 1/*#Ops*/, 5, // Results = #6
5765/* 10817*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5766 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5767 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 15
5768 // Dst: (ATOMIC_RMW16_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
5769/* 10827*/ 0, /*End of Scope*/
5770/* 10828*/ /*Scope*/ 82, /*->10911*/
5771/* 10829*/ OPC_CheckAndImm, 127|128,1/*255*/,
5772/* 10832*/ OPC_MoveChild0,
5773/* 10833*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
5774/* 10836*/ OPC_RecordMemRef,
5775/* 10837*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
5776/* 10838*/ OPC_CheckFoldableChainNode,
5777/* 10839*/ OPC_RecordChild1, // #1 = $off
5778/* 10840*/ OPC_MoveChild1,
5779/* 10841*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5780/* 10844*/ OPC_MoveParent,
5781/* 10845*/ OPC_RecordChild2, // #2 = $val
5782/* 10846*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
5783/* 10848*/ OPC_MoveParent,
5784/* 10849*/ OPC_CheckType, MVT::i32,
5785/* 10851*/ OPC_Scope, 28, /*->10881*/ // 2 children in Scope
5786/* 10853*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5787/* 10855*/ OPC_EmitMergeInputChains1_0,
5788/* 10856*/ OPC_EmitInteger, MVT::i32, 0,
5789/* 10859*/ OPC_EmitConvertToTarget, 1,
5790/* 10861*/ OPC_EmitInteger, MVT::i32, 0,
5791/* 10864*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5792 MVT::i32, 1/*#Ops*/, 5, // Results = #6
5793/* 10871*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5794 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5795 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 15
5796 // Dst: (ATOMIC_RMW8_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5797/* 10881*/ /*Scope*/ 28, /*->10910*/
5798/* 10882*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5799/* 10884*/ OPC_EmitMergeInputChains1_0,
5800/* 10885*/ OPC_EmitInteger, MVT::i32, 0,
5801/* 10888*/ OPC_EmitConvertToTarget, 1,
5802/* 10890*/ OPC_EmitInteger, MVT::i64, 0,
5803/* 10893*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5804 MVT::i64, 1/*#Ops*/, 5, // Results = #6
5805/* 10900*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5806 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5807 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 15
5808 // Dst: (ATOMIC_RMW8_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
5809/* 10910*/ 0, /*End of Scope*/
5810/* 10911*/ /*Scope*/ 83, /*->10995*/
5811/* 10912*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5812/* 10916*/ OPC_MoveChild0,
5813/* 10917*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
5814/* 10920*/ OPC_RecordMemRef,
5815/* 10921*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
5816/* 10922*/ OPC_CheckFoldableChainNode,
5817/* 10923*/ OPC_RecordChild1, // #1 = $off
5818/* 10924*/ OPC_MoveChild1,
5819/* 10925*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5820/* 10928*/ OPC_MoveParent,
5821/* 10929*/ OPC_RecordChild2, // #2 = $val
5822/* 10930*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
5823/* 10932*/ OPC_MoveParent,
5824/* 10933*/ OPC_CheckType, MVT::i32,
5825/* 10935*/ OPC_Scope, 28, /*->10965*/ // 2 children in Scope
5826/* 10937*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5827/* 10939*/ OPC_EmitMergeInputChains1_0,
5828/* 10940*/ OPC_EmitInteger, MVT::i32, 0,
5829/* 10943*/ OPC_EmitConvertToTarget, 1,
5830/* 10945*/ OPC_EmitInteger, MVT::i32, 0,
5831/* 10948*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5832 MVT::i32, 1/*#Ops*/, 5, // Results = #6
5833/* 10955*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5834 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5835 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 15
5836 // Dst: (ATOMIC_RMW16_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5837/* 10965*/ /*Scope*/ 28, /*->10994*/
5838/* 10966*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5839/* 10968*/ OPC_EmitMergeInputChains1_0,
5840/* 10969*/ OPC_EmitInteger, MVT::i32, 0,
5841/* 10972*/ OPC_EmitConvertToTarget, 1,
5842/* 10974*/ OPC_EmitInteger, MVT::i64, 0,
5843/* 10977*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5844 MVT::i64, 1/*#Ops*/, 5, // Results = #6
5845/* 10984*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5846 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5847 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 15
5848 // Dst: (ATOMIC_RMW16_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
5849/* 10994*/ 0, /*End of Scope*/
5850/* 10995*/ /*Scope*/ 82, /*->11078*/
5851/* 10996*/ OPC_CheckAndImm, 127|128,1/*255*/,
5852/* 10999*/ OPC_MoveChild0,
5853/* 11000*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
5854/* 11003*/ OPC_RecordMemRef,
5855/* 11004*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
5856/* 11005*/ OPC_CheckFoldableChainNode,
5857/* 11006*/ OPC_RecordChild1, // #1 = $off
5858/* 11007*/ OPC_MoveChild1,
5859/* 11008*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5860/* 11011*/ OPC_MoveParent,
5861/* 11012*/ OPC_RecordChild2, // #2 = $val
5862/* 11013*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
5863/* 11015*/ OPC_MoveParent,
5864/* 11016*/ OPC_CheckType, MVT::i32,
5865/* 11018*/ OPC_Scope, 28, /*->11048*/ // 2 children in Scope
5866/* 11020*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5867/* 11022*/ OPC_EmitMergeInputChains1_0,
5868/* 11023*/ OPC_EmitInteger, MVT::i32, 0,
5869/* 11026*/ OPC_EmitConvertToTarget, 1,
5870/* 11028*/ OPC_EmitInteger, MVT::i32, 0,
5871/* 11031*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5872 MVT::i32, 1/*#Ops*/, 5, // Results = #6
5873/* 11038*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5874 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5875 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 15
5876 // Dst: (ATOMIC_RMW8_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5877/* 11048*/ /*Scope*/ 28, /*->11077*/
5878/* 11049*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5879/* 11051*/ OPC_EmitMergeInputChains1_0,
5880/* 11052*/ OPC_EmitInteger, MVT::i32, 0,
5881/* 11055*/ OPC_EmitConvertToTarget, 1,
5882/* 11057*/ OPC_EmitInteger, MVT::i64, 0,
5883/* 11060*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5884 MVT::i64, 1/*#Ops*/, 5, // Results = #6
5885/* 11067*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5886 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5887 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 15
5888 // Dst: (ATOMIC_RMW8_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
5889/* 11077*/ 0, /*End of Scope*/
5890/* 11078*/ /*Scope*/ 83, /*->11162*/
5891/* 11079*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5892/* 11083*/ OPC_MoveChild0,
5893/* 11084*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
5894/* 11087*/ OPC_RecordMemRef,
5895/* 11088*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
5896/* 11089*/ OPC_CheckFoldableChainNode,
5897/* 11090*/ OPC_RecordChild1, // #1 = $off
5898/* 11091*/ OPC_MoveChild1,
5899/* 11092*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5900/* 11095*/ OPC_MoveParent,
5901/* 11096*/ OPC_RecordChild2, // #2 = $val
5902/* 11097*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
5903/* 11099*/ OPC_MoveParent,
5904/* 11100*/ OPC_CheckType, MVT::i32,
5905/* 11102*/ OPC_Scope, 28, /*->11132*/ // 2 children in Scope
5906/* 11104*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5907/* 11106*/ OPC_EmitMergeInputChains1_0,
5908/* 11107*/ OPC_EmitInteger, MVT::i32, 0,
5909/* 11110*/ OPC_EmitConvertToTarget, 1,
5910/* 11112*/ OPC_EmitInteger, MVT::i32, 0,
5911/* 11115*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5912 MVT::i32, 1/*#Ops*/, 5, // Results = #6
5913/* 11122*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5914 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5915 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 15
5916 // Dst: (ATOMIC_RMW16_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5917/* 11132*/ /*Scope*/ 28, /*->11161*/
5918/* 11133*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5919/* 11135*/ OPC_EmitMergeInputChains1_0,
5920/* 11136*/ OPC_EmitInteger, MVT::i32, 0,
5921/* 11139*/ OPC_EmitConvertToTarget, 1,
5922/* 11141*/ OPC_EmitInteger, MVT::i64, 0,
5923/* 11144*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5924 MVT::i64, 1/*#Ops*/, 5, // Results = #6
5925/* 11151*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5926 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5927 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 15
5928 // Dst: (ATOMIC_RMW16_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
5929/* 11161*/ 0, /*End of Scope*/
5930/* 11162*/ /*Scope*/ 82, /*->11245*/
5931/* 11163*/ OPC_CheckAndImm, 127|128,1/*255*/,
5932/* 11166*/ OPC_MoveChild0,
5933/* 11167*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
5934/* 11170*/ OPC_RecordMemRef,
5935/* 11171*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
5936/* 11172*/ OPC_CheckFoldableChainNode,
5937/* 11173*/ OPC_RecordChild1, // #1 = $off
5938/* 11174*/ OPC_MoveChild1,
5939/* 11175*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5940/* 11178*/ OPC_MoveParent,
5941/* 11179*/ OPC_RecordChild2, // #2 = $val
5942/* 11180*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
5943/* 11182*/ OPC_MoveParent,
5944/* 11183*/ OPC_CheckType, MVT::i32,
5945/* 11185*/ OPC_Scope, 28, /*->11215*/ // 2 children in Scope
5946/* 11187*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5947/* 11189*/ OPC_EmitMergeInputChains1_0,
5948/* 11190*/ OPC_EmitInteger, MVT::i32, 0,
5949/* 11193*/ OPC_EmitConvertToTarget, 1,
5950/* 11195*/ OPC_EmitInteger, MVT::i32, 0,
5951/* 11198*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5952 MVT::i32, 1/*#Ops*/, 5, // Results = #6
5953/* 11205*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5954 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5955 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 15
5956 // Dst: (ATOMIC_RMW8_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5957/* 11215*/ /*Scope*/ 28, /*->11244*/
5958/* 11216*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5959/* 11218*/ OPC_EmitMergeInputChains1_0,
5960/* 11219*/ OPC_EmitInteger, MVT::i32, 0,
5961/* 11222*/ OPC_EmitConvertToTarget, 1,
5962/* 11224*/ OPC_EmitInteger, MVT::i64, 0,
5963/* 11227*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
5964 MVT::i64, 1/*#Ops*/, 5, // Results = #6
5965/* 11234*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
5966 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5967 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 15
5968 // Dst: (ATOMIC_RMW8_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
5969/* 11244*/ 0, /*End of Scope*/
5970/* 11245*/ /*Scope*/ 83, /*->11329*/
5971/* 11246*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5972/* 11250*/ OPC_MoveChild0,
5973/* 11251*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
5974/* 11254*/ OPC_RecordMemRef,
5975/* 11255*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
5976/* 11256*/ OPC_CheckFoldableChainNode,
5977/* 11257*/ OPC_RecordChild1, // #1 = $off
5978/* 11258*/ OPC_MoveChild1,
5979/* 11259*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5980/* 11262*/ OPC_MoveParent,
5981/* 11263*/ OPC_RecordChild2, // #2 = $val
5982/* 11264*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
5983/* 11266*/ OPC_MoveParent,
5984/* 11267*/ OPC_CheckType, MVT::i32,
5985/* 11269*/ OPC_Scope, 28, /*->11299*/ // 2 children in Scope
5986/* 11271*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5987/* 11273*/ OPC_EmitMergeInputChains1_0,
5988/* 11274*/ OPC_EmitInteger, MVT::i32, 0,
5989/* 11277*/ OPC_EmitConvertToTarget, 1,
5990/* 11279*/ OPC_EmitInteger, MVT::i32, 0,
5991/* 11282*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5992 MVT::i32, 1/*#Ops*/, 5, // Results = #6
5993/* 11289*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
5994 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
5995 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 15
5996 // Dst: (ATOMIC_RMW16_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
5997/* 11299*/ /*Scope*/ 28, /*->11328*/
5998/* 11300*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
5999/* 11302*/ OPC_EmitMergeInputChains1_0,
6000/* 11303*/ OPC_EmitInteger, MVT::i32, 0,
6001/* 11306*/ OPC_EmitConvertToTarget, 1,
6002/* 11308*/ OPC_EmitInteger, MVT::i64, 0,
6003/* 11311*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
6004 MVT::i64, 1/*#Ops*/, 5, // Results = #6
6005/* 11318*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6006 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
6007 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 15
6008 // Dst: (ATOMIC_RMW16_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
6009/* 11328*/ 0, /*End of Scope*/
6010/* 11329*/ /*Scope*/ 82, /*->11412*/
6011/* 11330*/ OPC_CheckAndImm, 127|128,1/*255*/,
6012/* 11333*/ OPC_MoveChild0,
6013/* 11334*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
6014/* 11337*/ OPC_RecordMemRef,
6015/* 11338*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
6016/* 11339*/ OPC_CheckFoldableChainNode,
6017/* 11340*/ OPC_RecordChild1, // #1 = $off
6018/* 11341*/ OPC_MoveChild1,
6019/* 11342*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6020/* 11345*/ OPC_MoveParent,
6021/* 11346*/ OPC_RecordChild2, // #2 = $val
6022/* 11347*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
6023/* 11349*/ OPC_MoveParent,
6024/* 11350*/ OPC_CheckType, MVT::i32,
6025/* 11352*/ OPC_Scope, 28, /*->11382*/ // 2 children in Scope
6026/* 11354*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6027/* 11356*/ OPC_EmitMergeInputChains1_0,
6028/* 11357*/ OPC_EmitInteger, MVT::i32, 0,
6029/* 11360*/ OPC_EmitConvertToTarget, 1,
6030/* 11362*/ OPC_EmitInteger, MVT::i32, 0,
6031/* 11365*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
6032 MVT::i32, 1/*#Ops*/, 5, // Results = #6
6033/* 11372*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6034 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
6035 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 15
6036 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
6037/* 11382*/ /*Scope*/ 28, /*->11411*/
6038/* 11383*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6039/* 11385*/ OPC_EmitMergeInputChains1_0,
6040/* 11386*/ OPC_EmitInteger, MVT::i32, 0,
6041/* 11389*/ OPC_EmitConvertToTarget, 1,
6042/* 11391*/ OPC_EmitInteger, MVT::i64, 0,
6043/* 11394*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
6044 MVT::i64, 1/*#Ops*/, 5, // Results = #6
6045/* 11401*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6046 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
6047 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 15
6048 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
6049/* 11411*/ 0, /*End of Scope*/
6050/* 11412*/ /*Scope*/ 83, /*->11496*/
6051/* 11413*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6052/* 11417*/ OPC_MoveChild0,
6053/* 11418*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
6054/* 11421*/ OPC_RecordMemRef,
6055/* 11422*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
6056/* 11423*/ OPC_CheckFoldableChainNode,
6057/* 11424*/ OPC_RecordChild1, // #1 = $off
6058/* 11425*/ OPC_MoveChild1,
6059/* 11426*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6060/* 11429*/ OPC_MoveParent,
6061/* 11430*/ OPC_RecordChild2, // #2 = $val
6062/* 11431*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
6063/* 11433*/ OPC_MoveParent,
6064/* 11434*/ OPC_CheckType, MVT::i32,
6065/* 11436*/ OPC_Scope, 28, /*->11466*/ // 2 children in Scope
6066/* 11438*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6067/* 11440*/ OPC_EmitMergeInputChains1_0,
6068/* 11441*/ OPC_EmitInteger, MVT::i32, 0,
6069/* 11444*/ OPC_EmitConvertToTarget, 1,
6070/* 11446*/ OPC_EmitInteger, MVT::i32, 0,
6071/* 11449*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
6072 MVT::i32, 1/*#Ops*/, 5, // Results = #6
6073/* 11456*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6074 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
6075 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 15
6076 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
6077/* 11466*/ /*Scope*/ 28, /*->11495*/
6078/* 11467*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6079/* 11469*/ OPC_EmitMergeInputChains1_0,
6080/* 11470*/ OPC_EmitInteger, MVT::i32, 0,
6081/* 11473*/ OPC_EmitConvertToTarget, 1,
6082/* 11475*/ OPC_EmitInteger, MVT::i64, 0,
6083/* 11478*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
6084 MVT::i64, 1/*#Ops*/, 5, // Results = #6
6085/* 11485*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6086 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
6087 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 15
6088 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
6089/* 11495*/ 0, /*End of Scope*/
6090/* 11496*/ /*Scope*/ 75, /*->11572*/
6091/* 11497*/ OPC_CheckAndImm, 127|128,1/*255*/,
6092/* 11500*/ OPC_MoveChild0,
6093/* 11501*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
6094/* 11504*/ OPC_RecordMemRef,
6095/* 11505*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
6096/* 11506*/ OPC_CheckFoldableChainNode,
6097/* 11507*/ OPC_RecordChild1, // #1 = $off
6098/* 11508*/ OPC_MoveChild1,
6099/* 11509*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6100/* 11512*/ OPC_MoveParent,
6101/* 11513*/ OPC_RecordChild2, // #2 = $exp
6102/* 11514*/ OPC_RecordChild3, // #3 = $new
6103/* 11515*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
6104/* 11517*/ OPC_MoveParent,
6105/* 11518*/ OPC_CheckType, MVT::i32,
6106/* 11520*/ OPC_EmitMergeInputChains1_0,
6107/* 11521*/ OPC_EmitInteger, MVT::i32, 0,
6108/* 11524*/ OPC_EmitConvertToTarget, 1,
6109/* 11526*/ OPC_Scope, 21, /*->11549*/ // 2 children in Scope
6110/* 11528*/ OPC_EmitInteger, MVT::i32, 0,
6111/* 11531*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
6112 MVT::i32, 1/*#Ops*/, 6, // Results = #7
6113/* 11538*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6114 MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
6115 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 15
6116 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
6117/* 11549*/ /*Scope*/ 21, /*->11571*/
6118/* 11550*/ OPC_EmitInteger, MVT::i64, 0,
6119/* 11553*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
6120 MVT::i64, 1/*#Ops*/, 6, // Results = #7
6121/* 11560*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6122 MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
6123 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 15
6124 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
6125/* 11571*/ 0, /*End of Scope*/
6126/* 11572*/ /*Scope*/ 76, /*->11649*/
6127/* 11573*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6128/* 11577*/ OPC_MoveChild0,
6129/* 11578*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
6130/* 11581*/ OPC_RecordMemRef,
6131/* 11582*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
6132/* 11583*/ OPC_CheckFoldableChainNode,
6133/* 11584*/ OPC_RecordChild1, // #1 = $off
6134/* 11585*/ OPC_MoveChild1,
6135/* 11586*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6136/* 11589*/ OPC_MoveParent,
6137/* 11590*/ OPC_RecordChild2, // #2 = $exp
6138/* 11591*/ OPC_RecordChild3, // #3 = $new
6139/* 11592*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
6140/* 11594*/ OPC_MoveParent,
6141/* 11595*/ OPC_CheckType, MVT::i32,
6142/* 11597*/ OPC_EmitMergeInputChains1_0,
6143/* 11598*/ OPC_EmitInteger, MVT::i32, 0,
6144/* 11601*/ OPC_EmitConvertToTarget, 1,
6145/* 11603*/ OPC_Scope, 21, /*->11626*/ // 2 children in Scope
6146/* 11605*/ OPC_EmitInteger, MVT::i32, 0,
6147/* 11608*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
6148 MVT::i32, 1/*#Ops*/, 6, // Results = #7
6149/* 11615*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6150 MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
6151 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 15
6152 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
6153/* 11626*/ /*Scope*/ 21, /*->11648*/
6154/* 11627*/ OPC_EmitInteger, MVT::i64, 0,
6155/* 11630*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
6156 MVT::i64, 1/*#Ops*/, 6, // Results = #7
6157/* 11637*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6158 MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
6159 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 15
6160 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
6161/* 11648*/ 0, /*End of Scope*/
6162/* 11649*/ /*Scope*/ 65, /*->11715*/
6163/* 11650*/ OPC_CheckAndImm, 127|128,1/*255*/,
6164/* 11653*/ OPC_MoveChild0,
6165/* 11654*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
6166/* 11657*/ OPC_RecordMemRef,
6167/* 11658*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
6168/* 11659*/ OPC_CheckFoldableChainNode,
6169/* 11660*/ OPC_RecordChild1, // #1 = $addr
6170/* 11661*/ OPC_Scope, 25, /*->11688*/ // 2 children in Scope
6171/* 11663*/ OPC_CheckChild1Type, MVT::i32,
6172/* 11665*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
6173/* 11667*/ OPC_MoveParent,
6174/* 11668*/ OPC_CheckType, MVT::i32,
6175/* 11670*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
6176/* 11672*/ OPC_EmitMergeInputChains1_0,
6177/* 11673*/ OPC_EmitInteger, MVT::i32, 0,
6178/* 11676*/ OPC_EmitInteger, MVT::i32, 0,
6179/* 11679*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6180 MVT::i32, 3/*#Ops*/, 2, 3, 1,
6181 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 12
6182 // Dst: (ATOMIC_LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
6183/* 11688*/ /*Scope*/ 25, /*->11714*/
6184/* 11689*/ OPC_CheckChild1Type, MVT::i64,
6185/* 11691*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
6186/* 11693*/ OPC_MoveParent,
6187/* 11694*/ OPC_CheckType, MVT::i32,
6188/* 11696*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
6189/* 11698*/ OPC_EmitMergeInputChains1_0,
6190/* 11699*/ OPC_EmitInteger, MVT::i32, 0,
6191/* 11702*/ OPC_EmitInteger, MVT::i64, 0,
6192/* 11705*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6193 MVT::i32, 3/*#Ops*/, 2, 3, 1,
6194 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 12
6195 // Dst: (ATOMIC_LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
6196/* 11714*/ 0, /*End of Scope*/
6197/* 11715*/ /*Scope*/ 66, /*->11782*/
6198/* 11716*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6199/* 11720*/ OPC_MoveChild0,
6200/* 11721*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
6201/* 11724*/ OPC_RecordMemRef,
6202/* 11725*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
6203/* 11726*/ OPC_CheckFoldableChainNode,
6204/* 11727*/ OPC_RecordChild1, // #1 = $addr
6205/* 11728*/ OPC_Scope, 25, /*->11755*/ // 2 children in Scope
6206/* 11730*/ OPC_CheckChild1Type, MVT::i32,
6207/* 11732*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
6208/* 11734*/ OPC_MoveParent,
6209/* 11735*/ OPC_CheckType, MVT::i32,
6210/* 11737*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
6211/* 11739*/ OPC_EmitMergeInputChains1_0,
6212/* 11740*/ OPC_EmitInteger, MVT::i32, 0,
6213/* 11743*/ OPC_EmitInteger, MVT::i32, 0,
6214/* 11746*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6215 MVT::i32, 3/*#Ops*/, 2, 3, 1,
6216 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 12
6217 // Dst: (ATOMIC_LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
6218/* 11755*/ /*Scope*/ 25, /*->11781*/
6219/* 11756*/ OPC_CheckChild1Type, MVT::i64,
6220/* 11758*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
6221/* 11760*/ OPC_MoveParent,
6222/* 11761*/ OPC_CheckType, MVT::i32,
6223/* 11763*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
6224/* 11765*/ OPC_EmitMergeInputChains1_0,
6225/* 11766*/ OPC_EmitInteger, MVT::i32, 0,
6226/* 11769*/ OPC_EmitInteger, MVT::i64, 0,
6227/* 11772*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6228 MVT::i32, 3/*#Ops*/, 2, 3, 1,
6229 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 12
6230 // Dst: (ATOMIC_LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
6231/* 11781*/ 0, /*End of Scope*/
6232/* 11782*/ /*Scope*/ 69, /*->11852*/
6233/* 11783*/ OPC_CheckAndImm, 127|128,1/*255*/,
6234/* 11786*/ OPC_MoveChild0,
6235/* 11787*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
6236/* 11790*/ OPC_RecordMemRef,
6237/* 11791*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
6238/* 11792*/ OPC_CheckFoldableChainNode,
6239/* 11793*/ OPC_RecordChild1, // #1 = $addr
6240/* 11794*/ OPC_Scope, 27, /*->11823*/ // 2 children in Scope
6241/* 11796*/ OPC_CheckChild1Type, MVT::i32,
6242/* 11798*/ OPC_RecordChild2, // #2 = $val
6243/* 11799*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
6244/* 11801*/ OPC_MoveParent,
6245/* 11802*/ OPC_CheckType, MVT::i32,
6246/* 11804*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6247/* 11806*/ OPC_EmitMergeInputChains1_0,
6248/* 11807*/ OPC_EmitInteger, MVT::i32, 0,
6249/* 11810*/ OPC_EmitInteger, MVT::i32, 0,
6250/* 11813*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6251 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6252 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 12
6253 // Dst: (ATOMIC_RMW8_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6254/* 11823*/ /*Scope*/ 27, /*->11851*/
6255/* 11824*/ OPC_CheckChild1Type, MVT::i64,
6256/* 11826*/ OPC_RecordChild2, // #2 = $val
6257/* 11827*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
6258/* 11829*/ OPC_MoveParent,
6259/* 11830*/ OPC_CheckType, MVT::i32,
6260/* 11832*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6261/* 11834*/ OPC_EmitMergeInputChains1_0,
6262/* 11835*/ OPC_EmitInteger, MVT::i32, 0,
6263/* 11838*/ OPC_EmitInteger, MVT::i64, 0,
6264/* 11841*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6265 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6266 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 12
6267 // Dst: (ATOMIC_RMW8_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
6268/* 11851*/ 0, /*End of Scope*/
6269/* 11852*/ /*Scope*/ 70, /*->11923*/
6270/* 11853*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6271/* 11857*/ OPC_MoveChild0,
6272/* 11858*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
6273/* 11861*/ OPC_RecordMemRef,
6274/* 11862*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
6275/* 11863*/ OPC_CheckFoldableChainNode,
6276/* 11864*/ OPC_RecordChild1, // #1 = $addr
6277/* 11865*/ OPC_Scope, 27, /*->11894*/ // 2 children in Scope
6278/* 11867*/ OPC_CheckChild1Type, MVT::i32,
6279/* 11869*/ OPC_RecordChild2, // #2 = $val
6280/* 11870*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
6281/* 11872*/ OPC_MoveParent,
6282/* 11873*/ OPC_CheckType, MVT::i32,
6283/* 11875*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6284/* 11877*/ OPC_EmitMergeInputChains1_0,
6285/* 11878*/ OPC_EmitInteger, MVT::i32, 0,
6286/* 11881*/ OPC_EmitInteger, MVT::i32, 0,
6287/* 11884*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6288 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6289 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 12
6290 // Dst: (ATOMIC_RMW16_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6291/* 11894*/ /*Scope*/ 27, /*->11922*/
6292/* 11895*/ OPC_CheckChild1Type, MVT::i64,
6293/* 11897*/ OPC_RecordChild2, // #2 = $val
6294/* 11898*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
6295/* 11900*/ OPC_MoveParent,
6296/* 11901*/ OPC_CheckType, MVT::i32,
6297/* 11903*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6298/* 11905*/ OPC_EmitMergeInputChains1_0,
6299/* 11906*/ OPC_EmitInteger, MVT::i32, 0,
6300/* 11909*/ OPC_EmitInteger, MVT::i64, 0,
6301/* 11912*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6302 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6303 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 12
6304 // Dst: (ATOMIC_RMW16_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
6305/* 11922*/ 0, /*End of Scope*/
6306/* 11923*/ /*Scope*/ 69, /*->11993*/
6307/* 11924*/ OPC_CheckAndImm, 127|128,1/*255*/,
6308/* 11927*/ OPC_MoveChild0,
6309/* 11928*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
6310/* 11931*/ OPC_RecordMemRef,
6311/* 11932*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
6312/* 11933*/ OPC_CheckFoldableChainNode,
6313/* 11934*/ OPC_RecordChild1, // #1 = $addr
6314/* 11935*/ OPC_Scope, 27, /*->11964*/ // 2 children in Scope
6315/* 11937*/ OPC_CheckChild1Type, MVT::i32,
6316/* 11939*/ OPC_RecordChild2, // #2 = $val
6317/* 11940*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
6318/* 11942*/ OPC_MoveParent,
6319/* 11943*/ OPC_CheckType, MVT::i32,
6320/* 11945*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6321/* 11947*/ OPC_EmitMergeInputChains1_0,
6322/* 11948*/ OPC_EmitInteger, MVT::i32, 0,
6323/* 11951*/ OPC_EmitInteger, MVT::i32, 0,
6324/* 11954*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6325 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6326 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 12
6327 // Dst: (ATOMIC_RMW8_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6328/* 11964*/ /*Scope*/ 27, /*->11992*/
6329/* 11965*/ OPC_CheckChild1Type, MVT::i64,
6330/* 11967*/ OPC_RecordChild2, // #2 = $val
6331/* 11968*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
6332/* 11970*/ OPC_MoveParent,
6333/* 11971*/ OPC_CheckType, MVT::i32,
6334/* 11973*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6335/* 11975*/ OPC_EmitMergeInputChains1_0,
6336/* 11976*/ OPC_EmitInteger, MVT::i32, 0,
6337/* 11979*/ OPC_EmitInteger, MVT::i64, 0,
6338/* 11982*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6339 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6340 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 12
6341 // Dst: (ATOMIC_RMW8_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
6342/* 11992*/ 0, /*End of Scope*/
6343/* 11993*/ /*Scope*/ 70, /*->12064*/
6344/* 11994*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6345/* 11998*/ OPC_MoveChild0,
6346/* 11999*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
6347/* 12002*/ OPC_RecordMemRef,
6348/* 12003*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
6349/* 12004*/ OPC_CheckFoldableChainNode,
6350/* 12005*/ OPC_RecordChild1, // #1 = $addr
6351/* 12006*/ OPC_Scope, 27, /*->12035*/ // 2 children in Scope
6352/* 12008*/ OPC_CheckChild1Type, MVT::i32,
6353/* 12010*/ OPC_RecordChild2, // #2 = $val
6354/* 12011*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
6355/* 12013*/ OPC_MoveParent,
6356/* 12014*/ OPC_CheckType, MVT::i32,
6357/* 12016*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6358/* 12018*/ OPC_EmitMergeInputChains1_0,
6359/* 12019*/ OPC_EmitInteger, MVT::i32, 0,
6360/* 12022*/ OPC_EmitInteger, MVT::i32, 0,
6361/* 12025*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6362 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6363 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 12
6364 // Dst: (ATOMIC_RMW16_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6365/* 12035*/ /*Scope*/ 27, /*->12063*/
6366/* 12036*/ OPC_CheckChild1Type, MVT::i64,
6367/* 12038*/ OPC_RecordChild2, // #2 = $val
6368/* 12039*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
6369/* 12041*/ OPC_MoveParent,
6370/* 12042*/ OPC_CheckType, MVT::i32,
6371/* 12044*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6372/* 12046*/ OPC_EmitMergeInputChains1_0,
6373/* 12047*/ OPC_EmitInteger, MVT::i32, 0,
6374/* 12050*/ OPC_EmitInteger, MVT::i64, 0,
6375/* 12053*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6376 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6377 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 12
6378 // Dst: (ATOMIC_RMW16_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
6379/* 12063*/ 0, /*End of Scope*/
6380/* 12064*/ /*Scope*/ 69, /*->12134*/
6381/* 12065*/ OPC_CheckAndImm, 127|128,1/*255*/,
6382/* 12068*/ OPC_MoveChild0,
6383/* 12069*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
6384/* 12072*/ OPC_RecordMemRef,
6385/* 12073*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
6386/* 12074*/ OPC_CheckFoldableChainNode,
6387/* 12075*/ OPC_RecordChild1, // #1 = $addr
6388/* 12076*/ OPC_Scope, 27, /*->12105*/ // 2 children in Scope
6389/* 12078*/ OPC_CheckChild1Type, MVT::i32,
6390/* 12080*/ OPC_RecordChild2, // #2 = $val
6391/* 12081*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
6392/* 12083*/ OPC_MoveParent,
6393/* 12084*/ OPC_CheckType, MVT::i32,
6394/* 12086*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6395/* 12088*/ OPC_EmitMergeInputChains1_0,
6396/* 12089*/ OPC_EmitInteger, MVT::i32, 0,
6397/* 12092*/ OPC_EmitInteger, MVT::i32, 0,
6398/* 12095*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6399 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6400 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 12
6401 // Dst: (ATOMIC_RMW8_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6402/* 12105*/ /*Scope*/ 27, /*->12133*/
6403/* 12106*/ OPC_CheckChild1Type, MVT::i64,
6404/* 12108*/ OPC_RecordChild2, // #2 = $val
6405/* 12109*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
6406/* 12111*/ OPC_MoveParent,
6407/* 12112*/ OPC_CheckType, MVT::i32,
6408/* 12114*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6409/* 12116*/ OPC_EmitMergeInputChains1_0,
6410/* 12117*/ OPC_EmitInteger, MVT::i32, 0,
6411/* 12120*/ OPC_EmitInteger, MVT::i64, 0,
6412/* 12123*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6413 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6414 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 12
6415 // Dst: (ATOMIC_RMW8_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
6416/* 12133*/ 0, /*End of Scope*/
6417/* 12134*/ /*Scope*/ 70, /*->12205*/
6418/* 12135*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6419/* 12139*/ OPC_MoveChild0,
6420/* 12140*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
6421/* 12143*/ OPC_RecordMemRef,
6422/* 12144*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
6423/* 12145*/ OPC_CheckFoldableChainNode,
6424/* 12146*/ OPC_RecordChild1, // #1 = $addr
6425/* 12147*/ OPC_Scope, 27, /*->12176*/ // 2 children in Scope
6426/* 12149*/ OPC_CheckChild1Type, MVT::i32,
6427/* 12151*/ OPC_RecordChild2, // #2 = $val
6428/* 12152*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
6429/* 12154*/ OPC_MoveParent,
6430/* 12155*/ OPC_CheckType, MVT::i32,
6431/* 12157*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6432/* 12159*/ OPC_EmitMergeInputChains1_0,
6433/* 12160*/ OPC_EmitInteger, MVT::i32, 0,
6434/* 12163*/ OPC_EmitInteger, MVT::i32, 0,
6435/* 12166*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6436 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6437 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 12
6438 // Dst: (ATOMIC_RMW16_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6439/* 12176*/ /*Scope*/ 27, /*->12204*/
6440/* 12177*/ OPC_CheckChild1Type, MVT::i64,
6441/* 12179*/ OPC_RecordChild2, // #2 = $val
6442/* 12180*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
6443/* 12182*/ OPC_MoveParent,
6444/* 12183*/ OPC_CheckType, MVT::i32,
6445/* 12185*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6446/* 12187*/ OPC_EmitMergeInputChains1_0,
6447/* 12188*/ OPC_EmitInteger, MVT::i32, 0,
6448/* 12191*/ OPC_EmitInteger, MVT::i64, 0,
6449/* 12194*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6450 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6451 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 12
6452 // Dst: (ATOMIC_RMW16_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
6453/* 12204*/ 0, /*End of Scope*/
6454/* 12205*/ /*Scope*/ 69, /*->12275*/
6455/* 12206*/ OPC_CheckAndImm, 127|128,1/*255*/,
6456/* 12209*/ OPC_MoveChild0,
6457/* 12210*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
6458/* 12213*/ OPC_RecordMemRef,
6459/* 12214*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
6460/* 12215*/ OPC_CheckFoldableChainNode,
6461/* 12216*/ OPC_RecordChild1, // #1 = $addr
6462/* 12217*/ OPC_Scope, 27, /*->12246*/ // 2 children in Scope
6463/* 12219*/ OPC_CheckChild1Type, MVT::i32,
6464/* 12221*/ OPC_RecordChild2, // #2 = $val
6465/* 12222*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
6466/* 12224*/ OPC_MoveParent,
6467/* 12225*/ OPC_CheckType, MVT::i32,
6468/* 12227*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6469/* 12229*/ OPC_EmitMergeInputChains1_0,
6470/* 12230*/ OPC_EmitInteger, MVT::i32, 0,
6471/* 12233*/ OPC_EmitInteger, MVT::i32, 0,
6472/* 12236*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6473 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6474 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 12
6475 // Dst: (ATOMIC_RMW8_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6476/* 12246*/ /*Scope*/ 27, /*->12274*/
6477/* 12247*/ OPC_CheckChild1Type, MVT::i64,
6478/* 12249*/ OPC_RecordChild2, // #2 = $val
6479/* 12250*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
6480/* 12252*/ OPC_MoveParent,
6481/* 12253*/ OPC_CheckType, MVT::i32,
6482/* 12255*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6483/* 12257*/ OPC_EmitMergeInputChains1_0,
6484/* 12258*/ OPC_EmitInteger, MVT::i32, 0,
6485/* 12261*/ OPC_EmitInteger, MVT::i64, 0,
6486/* 12264*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6487 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6488 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 12
6489 // Dst: (ATOMIC_RMW8_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
6490/* 12274*/ 0, /*End of Scope*/
6491/* 12275*/ /*Scope*/ 70, /*->12346*/
6492/* 12276*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6493/* 12280*/ OPC_MoveChild0,
6494/* 12281*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
6495/* 12284*/ OPC_RecordMemRef,
6496/* 12285*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
6497/* 12286*/ OPC_CheckFoldableChainNode,
6498/* 12287*/ OPC_RecordChild1, // #1 = $addr
6499/* 12288*/ OPC_Scope, 27, /*->12317*/ // 2 children in Scope
6500/* 12290*/ OPC_CheckChild1Type, MVT::i32,
6501/* 12292*/ OPC_RecordChild2, // #2 = $val
6502/* 12293*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
6503/* 12295*/ OPC_MoveParent,
6504/* 12296*/ OPC_CheckType, MVT::i32,
6505/* 12298*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6506/* 12300*/ OPC_EmitMergeInputChains1_0,
6507/* 12301*/ OPC_EmitInteger, MVT::i32, 0,
6508/* 12304*/ OPC_EmitInteger, MVT::i32, 0,
6509/* 12307*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6510 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6511 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 12
6512 // Dst: (ATOMIC_RMW16_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6513/* 12317*/ /*Scope*/ 27, /*->12345*/
6514/* 12318*/ OPC_CheckChild1Type, MVT::i64,
6515/* 12320*/ OPC_RecordChild2, // #2 = $val
6516/* 12321*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
6517/* 12323*/ OPC_MoveParent,
6518/* 12324*/ OPC_CheckType, MVT::i32,
6519/* 12326*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6520/* 12328*/ OPC_EmitMergeInputChains1_0,
6521/* 12329*/ OPC_EmitInteger, MVT::i32, 0,
6522/* 12332*/ OPC_EmitInteger, MVT::i64, 0,
6523/* 12335*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6524 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6525 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 12
6526 // Dst: (ATOMIC_RMW16_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
6527/* 12345*/ 0, /*End of Scope*/
6528/* 12346*/ /*Scope*/ 69, /*->12416*/
6529/* 12347*/ OPC_CheckAndImm, 127|128,1/*255*/,
6530/* 12350*/ OPC_MoveChild0,
6531/* 12351*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
6532/* 12354*/ OPC_RecordMemRef,
6533/* 12355*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
6534/* 12356*/ OPC_CheckFoldableChainNode,
6535/* 12357*/ OPC_RecordChild1, // #1 = $addr
6536/* 12358*/ OPC_Scope, 27, /*->12387*/ // 2 children in Scope
6537/* 12360*/ OPC_CheckChild1Type, MVT::i32,
6538/* 12362*/ OPC_RecordChild2, // #2 = $val
6539/* 12363*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
6540/* 12365*/ OPC_MoveParent,
6541/* 12366*/ OPC_CheckType, MVT::i32,
6542/* 12368*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6543/* 12370*/ OPC_EmitMergeInputChains1_0,
6544/* 12371*/ OPC_EmitInteger, MVT::i32, 0,
6545/* 12374*/ OPC_EmitInteger, MVT::i32, 0,
6546/* 12377*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6547 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6548 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 12
6549 // Dst: (ATOMIC_RMW8_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6550/* 12387*/ /*Scope*/ 27, /*->12415*/
6551/* 12388*/ OPC_CheckChild1Type, MVT::i64,
6552/* 12390*/ OPC_RecordChild2, // #2 = $val
6553/* 12391*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
6554/* 12393*/ OPC_MoveParent,
6555/* 12394*/ OPC_CheckType, MVT::i32,
6556/* 12396*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6557/* 12398*/ OPC_EmitMergeInputChains1_0,
6558/* 12399*/ OPC_EmitInteger, MVT::i32, 0,
6559/* 12402*/ OPC_EmitInteger, MVT::i64, 0,
6560/* 12405*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6561 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6562 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 12
6563 // Dst: (ATOMIC_RMW8_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
6564/* 12415*/ 0, /*End of Scope*/
6565/* 12416*/ /*Scope*/ 70, /*->12487*/
6566/* 12417*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6567/* 12421*/ OPC_MoveChild0,
6568/* 12422*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
6569/* 12425*/ OPC_RecordMemRef,
6570/* 12426*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
6571/* 12427*/ OPC_CheckFoldableChainNode,
6572/* 12428*/ OPC_RecordChild1, // #1 = $addr
6573/* 12429*/ OPC_Scope, 27, /*->12458*/ // 2 children in Scope
6574/* 12431*/ OPC_CheckChild1Type, MVT::i32,
6575/* 12433*/ OPC_RecordChild2, // #2 = $val
6576/* 12434*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
6577/* 12436*/ OPC_MoveParent,
6578/* 12437*/ OPC_CheckType, MVT::i32,
6579/* 12439*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6580/* 12441*/ OPC_EmitMergeInputChains1_0,
6581/* 12442*/ OPC_EmitInteger, MVT::i32, 0,
6582/* 12445*/ OPC_EmitInteger, MVT::i32, 0,
6583/* 12448*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6584 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6585 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 12
6586 // Dst: (ATOMIC_RMW16_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6587/* 12458*/ /*Scope*/ 27, /*->12486*/
6588/* 12459*/ OPC_CheckChild1Type, MVT::i64,
6589/* 12461*/ OPC_RecordChild2, // #2 = $val
6590/* 12462*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
6591/* 12464*/ OPC_MoveParent,
6592/* 12465*/ OPC_CheckType, MVT::i32,
6593/* 12467*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6594/* 12469*/ OPC_EmitMergeInputChains1_0,
6595/* 12470*/ OPC_EmitInteger, MVT::i32, 0,
6596/* 12473*/ OPC_EmitInteger, MVT::i64, 0,
6597/* 12476*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6598 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6599 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 12
6600 // Dst: (ATOMIC_RMW16_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
6601/* 12486*/ 0, /*End of Scope*/
6602/* 12487*/ /*Scope*/ 69, /*->12557*/
6603/* 12488*/ OPC_CheckAndImm, 127|128,1/*255*/,
6604/* 12491*/ OPC_MoveChild0,
6605/* 12492*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
6606/* 12495*/ OPC_RecordMemRef,
6607/* 12496*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
6608/* 12497*/ OPC_CheckFoldableChainNode,
6609/* 12498*/ OPC_RecordChild1, // #1 = $addr
6610/* 12499*/ OPC_Scope, 27, /*->12528*/ // 2 children in Scope
6611/* 12501*/ OPC_CheckChild1Type, MVT::i32,
6612/* 12503*/ OPC_RecordChild2, // #2 = $val
6613/* 12504*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
6614/* 12506*/ OPC_MoveParent,
6615/* 12507*/ OPC_CheckType, MVT::i32,
6616/* 12509*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6617/* 12511*/ OPC_EmitMergeInputChains1_0,
6618/* 12512*/ OPC_EmitInteger, MVT::i32, 0,
6619/* 12515*/ OPC_EmitInteger, MVT::i32, 0,
6620/* 12518*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6621 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6622 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 12
6623 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6624/* 12528*/ /*Scope*/ 27, /*->12556*/
6625/* 12529*/ OPC_CheckChild1Type, MVT::i64,
6626/* 12531*/ OPC_RecordChild2, // #2 = $val
6627/* 12532*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
6628/* 12534*/ OPC_MoveParent,
6629/* 12535*/ OPC_CheckType, MVT::i32,
6630/* 12537*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6631/* 12539*/ OPC_EmitMergeInputChains1_0,
6632/* 12540*/ OPC_EmitInteger, MVT::i32, 0,
6633/* 12543*/ OPC_EmitInteger, MVT::i64, 0,
6634/* 12546*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6635 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6636 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 12
6637 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
6638/* 12556*/ 0, /*End of Scope*/
6639/* 12557*/ /*Scope*/ 70, /*->12628*/
6640/* 12558*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6641/* 12562*/ OPC_MoveChild0,
6642/* 12563*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
6643/* 12566*/ OPC_RecordMemRef,
6644/* 12567*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
6645/* 12568*/ OPC_CheckFoldableChainNode,
6646/* 12569*/ OPC_RecordChild1, // #1 = $addr
6647/* 12570*/ OPC_Scope, 27, /*->12599*/ // 2 children in Scope
6648/* 12572*/ OPC_CheckChild1Type, MVT::i32,
6649/* 12574*/ OPC_RecordChild2, // #2 = $val
6650/* 12575*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
6651/* 12577*/ OPC_MoveParent,
6652/* 12578*/ OPC_CheckType, MVT::i32,
6653/* 12580*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6654/* 12582*/ OPC_EmitMergeInputChains1_0,
6655/* 12583*/ OPC_EmitInteger, MVT::i32, 0,
6656/* 12586*/ OPC_EmitInteger, MVT::i32, 0,
6657/* 12589*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6658 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6659 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 12
6660 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6661/* 12599*/ /*Scope*/ 27, /*->12627*/
6662/* 12600*/ OPC_CheckChild1Type, MVT::i64,
6663/* 12602*/ OPC_RecordChild2, // #2 = $val
6664/* 12603*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
6665/* 12605*/ OPC_MoveParent,
6666/* 12606*/ OPC_CheckType, MVT::i32,
6667/* 12608*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6668/* 12610*/ OPC_EmitMergeInputChains1_0,
6669/* 12611*/ OPC_EmitInteger, MVT::i32, 0,
6670/* 12614*/ OPC_EmitInteger, MVT::i64, 0,
6671/* 12617*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6672 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
6673 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 12
6674 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
6675/* 12627*/ 0, /*End of Scope*/
6676/* 12628*/ /*Scope*/ 73, /*->12702*/
6677/* 12629*/ OPC_CheckAndImm, 127|128,1/*255*/,
6678/* 12632*/ OPC_MoveChild0,
6679/* 12633*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
6680/* 12636*/ OPC_RecordMemRef,
6681/* 12637*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
6682/* 12638*/ OPC_CheckFoldableChainNode,
6683/* 12639*/ OPC_RecordChild1, // #1 = $addr
6684/* 12640*/ OPC_Scope, 29, /*->12671*/ // 2 children in Scope
6685/* 12642*/ OPC_CheckChild1Type, MVT::i32,
6686/* 12644*/ OPC_RecordChild2, // #2 = $exp
6687/* 12645*/ OPC_RecordChild3, // #3 = $new
6688/* 12646*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
6689/* 12648*/ OPC_MoveParent,
6690/* 12649*/ OPC_CheckType, MVT::i32,
6691/* 12651*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6692/* 12653*/ OPC_EmitMergeInputChains1_0,
6693/* 12654*/ OPC_EmitInteger, MVT::i32, 0,
6694/* 12657*/ OPC_EmitInteger, MVT::i32, 0,
6695/* 12660*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6696 MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
6697 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 12
6698 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
6699/* 12671*/ /*Scope*/ 29, /*->12701*/
6700/* 12672*/ OPC_CheckChild1Type, MVT::i64,
6701/* 12674*/ OPC_RecordChild2, // #2 = $exp
6702/* 12675*/ OPC_RecordChild3, // #3 = $new
6703/* 12676*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
6704/* 12678*/ OPC_MoveParent,
6705/* 12679*/ OPC_CheckType, MVT::i32,
6706/* 12681*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6707/* 12683*/ OPC_EmitMergeInputChains1_0,
6708/* 12684*/ OPC_EmitInteger, MVT::i32, 0,
6709/* 12687*/ OPC_EmitInteger, MVT::i64, 0,
6710/* 12690*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6711 MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
6712 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 12
6713 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
6714/* 12701*/ 0, /*End of Scope*/
6715/* 12702*/ /*Scope*/ 74, /*->12777*/
6716/* 12703*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6717/* 12707*/ OPC_MoveChild0,
6718/* 12708*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
6719/* 12711*/ OPC_RecordMemRef,
6720/* 12712*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
6721/* 12713*/ OPC_CheckFoldableChainNode,
6722/* 12714*/ OPC_RecordChild1, // #1 = $addr
6723/* 12715*/ OPC_Scope, 29, /*->12746*/ // 2 children in Scope
6724/* 12717*/ OPC_CheckChild1Type, MVT::i32,
6725/* 12719*/ OPC_RecordChild2, // #2 = $exp
6726/* 12720*/ OPC_RecordChild3, // #3 = $new
6727/* 12721*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
6728/* 12723*/ OPC_MoveParent,
6729/* 12724*/ OPC_CheckType, MVT::i32,
6730/* 12726*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6731/* 12728*/ OPC_EmitMergeInputChains1_0,
6732/* 12729*/ OPC_EmitInteger, MVT::i32, 0,
6733/* 12732*/ OPC_EmitInteger, MVT::i32, 0,
6734/* 12735*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
6735 MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
6736 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 12
6737 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
6738/* 12746*/ /*Scope*/ 29, /*->12776*/
6739/* 12747*/ OPC_CheckChild1Type, MVT::i64,
6740/* 12749*/ OPC_RecordChild2, // #2 = $exp
6741/* 12750*/ OPC_RecordChild3, // #3 = $new
6742/* 12751*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
6743/* 12753*/ OPC_MoveParent,
6744/* 12754*/ OPC_CheckType, MVT::i32,
6745/* 12756*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
6746/* 12758*/ OPC_EmitMergeInputChains1_0,
6747/* 12759*/ OPC_EmitInteger, MVT::i32, 0,
6748/* 12762*/ OPC_EmitInteger, MVT::i64, 0,
6749/* 12765*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
6750 MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
6751 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 12
6752 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
6753/* 12776*/ 0, /*End of Scope*/
6754/* 12777*/ /*Scope*/ 98, /*->12876*/
6755/* 12778*/ OPC_RecordChild0, // #0 = $lhs
6756/* 12779*/ OPC_Scope, 23, /*->12804*/ // 2 children in Scope
6757/* 12781*/ OPC_RecordChild1, // #1 = $rhs
6758/* 12782*/ OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->12793
6759/* 12785*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND_I32), 0,
6760 MVT::i32, 2/*#Ops*/, 0, 1,
6761 // Src: (and:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
6762 // Dst: (AND_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
6763/* 12793*/ /*SwitchType*/ 8, MVT::i64,// ->12803
6764/* 12795*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND_I64), 0,
6765 MVT::i64, 2/*#Ops*/, 0, 1,
6766 // Src: (and:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
6767 // Dst: (AND_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
6768/* 12803*/ 0, // EndSwitchType
6769/* 12804*/ /*Scope*/ 70, /*->12875*/
6770/* 12805*/ OPC_MoveChild1,
6771/* 12806*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6772/* 12809*/ OPC_Scope, 47, /*->12858*/ // 2 children in Scope
6773/* 12811*/ OPC_RecordChild0, // #1 = $rhs
6774/* 12812*/ OPC_MoveChild1,
6775/* 12813*/ OPC_CheckImmAllOnesV,
6776/* 12814*/ OPC_MoveParent,
6777/* 12815*/ OPC_MoveParent,
6778/* 12816*/ OPC_SwitchType /*4 cases */, 8, MVT::v16i8,// ->12827
6779/* 12819*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANDNOT), 0,
6780 MVT::v16i8, 2/*#Ops*/, 0, 1,
6781 // Src: (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$rhs, immAllOnesV:{ *:[v16i8] })) - Complexity = 10
6782 // Dst: (ANDNOT:{ *:[v16i8] } ?:{ *:[v16i8] }:$lhs, ?:{ *:[v16i8] }:$rhs)
6783/* 12827*/ /*SwitchType*/ 8, MVT::v8i16,// ->12837
6784/* 12829*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANDNOT), 0,
6785 MVT::v8i16, 2/*#Ops*/, 0, 1,
6786 // Src: (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$rhs, immAllOnesV:{ *:[v8i16] })) - Complexity = 10
6787 // Dst: (ANDNOT:{ *:[v8i16] } ?:{ *:[v8i16] }:$lhs, ?:{ *:[v8i16] }:$rhs)
6788/* 12837*/ /*SwitchType*/ 8, MVT::v4i32,// ->12847
6789/* 12839*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANDNOT), 0,
6790 MVT::v4i32, 2/*#Ops*/, 0, 1,
6791 // Src: (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$rhs, immAllOnesV:{ *:[v4i32] })) - Complexity = 10
6792 // Dst: (ANDNOT:{ *:[v4i32] } ?:{ *:[v4i32] }:$lhs, ?:{ *:[v4i32] }:$rhs)
6793/* 12847*/ /*SwitchType*/ 8, MVT::v2i64,// ->12857
6794/* 12849*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANDNOT), 0,
6795 MVT::v2i64, 2/*#Ops*/, 0, 1,
6796 // Src: (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$rhs, immAllOnesV:{ *:[v2i64] })) - Complexity = 10
6797 // Dst: (ANDNOT:{ *:[v2i64] } ?:{ *:[v2i64] }:$lhs, ?:{ *:[v2i64] }:$rhs)
6798/* 12857*/ 0, // EndSwitchType
6799/* 12858*/ /*Scope*/ 15, /*->12874*/
6800/* 12859*/ OPC_MoveChild0,
6801/* 12860*/ OPC_CheckImmAllOnesV,
6802/* 12861*/ OPC_MoveParent,
6803/* 12862*/ OPC_RecordChild1, // #1 = $rhs
6804/* 12863*/ OPC_MoveParent,
6805/* 12864*/ OPC_CheckType, MVT::v16i8,
6806/* 12866*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANDNOT), 0,
6807 MVT::v16i8, 2/*#Ops*/, 0, 1,
6808 // Src: (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$rhs)) - Complexity = 10
6809 // Dst: (ANDNOT:{ *:[v16i8] } ?:{ *:[v16i8] }:$lhs, ?:{ *:[v16i8] }:$rhs)
6810/* 12874*/ 0, /*End of Scope*/
6811/* 12875*/ 0, /*End of Scope*/
6812/* 12876*/ /*Scope*/ 40, /*->12917*/
6813/* 12877*/ OPC_MoveChild0,
6814/* 12878*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6815/* 12881*/ OPC_Scope, 16, /*->12899*/ // 2 children in Scope
6816/* 12883*/ OPC_RecordChild0, // #0 = $rhs
6817/* 12884*/ OPC_MoveChild1,
6818/* 12885*/ OPC_CheckImmAllOnesV,
6819/* 12886*/ OPC_MoveParent,
6820/* 12887*/ OPC_MoveParent,
6821/* 12888*/ OPC_RecordChild1, // #1 = $lhs
6822/* 12889*/ OPC_CheckType, MVT::v16i8,
6823/* 12891*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANDNOT), 0,
6824 MVT::v16i8, 2/*#Ops*/, 1, 0,
6825 // Src: (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$rhs, immAllOnesV:{ *:[v16i8] }), V128:{ *:[v16i8] }:$lhs) - Complexity = 10
6826 // Dst: (ANDNOT:{ *:[v16i8] } ?:{ *:[v16i8] }:$lhs, ?:{ *:[v16i8] }:$rhs)
6827/* 12899*/ /*Scope*/ 16, /*->12916*/
6828/* 12900*/ OPC_MoveChild0,
6829/* 12901*/ OPC_CheckImmAllOnesV,
6830/* 12902*/ OPC_MoveParent,
6831/* 12903*/ OPC_RecordChild1, // #0 = $rhs
6832/* 12904*/ OPC_MoveParent,
6833/* 12905*/ OPC_RecordChild1, // #1 = $lhs
6834/* 12906*/ OPC_CheckType, MVT::v16i8,
6835/* 12908*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANDNOT), 0,
6836 MVT::v16i8, 2/*#Ops*/, 1, 0,
6837 // Src: (and:{ *:[v16i8] } (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$rhs), V128:{ *:[v16i8] }:$lhs) - Complexity = 10
6838 // Dst: (ANDNOT:{ *:[v16i8] } ?:{ *:[v16i8] }:$lhs, ?:{ *:[v16i8] }:$rhs)
6839/* 12916*/ 0, /*End of Scope*/
6840/* 12917*/ /*Scope*/ 20, /*->12938*/
6841/* 12918*/ OPC_RecordChild0, // #0 = $lhs
6842/* 12919*/ OPC_MoveChild1,
6843/* 12920*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6844/* 12923*/ OPC_MoveChild0,
6845/* 12924*/ OPC_CheckImmAllOnesV,
6846/* 12925*/ OPC_MoveParent,
6847/* 12926*/ OPC_RecordChild1, // #1 = $rhs
6848/* 12927*/ OPC_MoveParent,
6849/* 12928*/ OPC_CheckType, MVT::v8i16,
6850/* 12930*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANDNOT), 0,
6851 MVT::v8i16, 2/*#Ops*/, 0, 1,
6852 // Src: (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$rhs)) - Complexity = 10
6853 // Dst: (ANDNOT:{ *:[v8i16] } ?:{ *:[v8i16] }:$lhs, ?:{ *:[v8i16] }:$rhs)
6854/* 12938*/ /*Scope*/ 40, /*->12979*/
6855/* 12939*/ OPC_MoveChild0,
6856/* 12940*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6857/* 12943*/ OPC_Scope, 16, /*->12961*/ // 2 children in Scope
6858/* 12945*/ OPC_RecordChild0, // #0 = $rhs
6859/* 12946*/ OPC_MoveChild1,
6860/* 12947*/ OPC_CheckImmAllOnesV,
6861/* 12948*/ OPC_MoveParent,
6862/* 12949*/ OPC_MoveParent,
6863/* 12950*/ OPC_RecordChild1, // #1 = $lhs
6864/* 12951*/ OPC_CheckType, MVT::v8i16,
6865/* 12953*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANDNOT), 0,
6866 MVT::v8i16, 2/*#Ops*/, 1, 0,
6867 // Src: (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$rhs, immAllOnesV:{ *:[v8i16] }), V128:{ *:[v8i16] }:$lhs) - Complexity = 10
6868 // Dst: (ANDNOT:{ *:[v8i16] } ?:{ *:[v8i16] }:$lhs, ?:{ *:[v8i16] }:$rhs)
6869/* 12961*/ /*Scope*/ 16, /*->12978*/
6870/* 12962*/ OPC_MoveChild0,
6871/* 12963*/ OPC_CheckImmAllOnesV,
6872/* 12964*/ OPC_MoveParent,
6873/* 12965*/ OPC_RecordChild1, // #0 = $rhs
6874/* 12966*/ OPC_MoveParent,
6875/* 12967*/ OPC_RecordChild1, // #1 = $lhs
6876/* 12968*/ OPC_CheckType, MVT::v8i16,
6877/* 12970*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANDNOT), 0,
6878 MVT::v8i16, 2/*#Ops*/, 1, 0,
6879 // Src: (and:{ *:[v8i16] } (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$rhs), V128:{ *:[v8i16] }:$lhs) - Complexity = 10
6880 // Dst: (ANDNOT:{ *:[v8i16] } ?:{ *:[v8i16] }:$lhs, ?:{ *:[v8i16] }:$rhs)
6881/* 12978*/ 0, /*End of Scope*/
6882/* 12979*/ /*Scope*/ 20, /*->13000*/
6883/* 12980*/ OPC_RecordChild0, // #0 = $lhs
6884/* 12981*/ OPC_MoveChild1,
6885/* 12982*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6886/* 12985*/ OPC_MoveChild0,
6887/* 12986*/ OPC_CheckImmAllOnesV,
6888/* 12987*/ OPC_MoveParent,
6889/* 12988*/ OPC_RecordChild1, // #1 = $rhs
6890/* 12989*/ OPC_MoveParent,
6891/* 12990*/ OPC_CheckType, MVT::v4i32,
6892/* 12992*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANDNOT), 0,
6893 MVT::v4i32, 2/*#Ops*/, 0, 1,
6894 // Src: (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$rhs)) - Complexity = 10
6895 // Dst: (ANDNOT:{ *:[v4i32] } ?:{ *:[v4i32] }:$lhs, ?:{ *:[v4i32] }:$rhs)
6896/* 13000*/ /*Scope*/ 40, /*->13041*/
6897/* 13001*/ OPC_MoveChild0,
6898/* 13002*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6899/* 13005*/ OPC_Scope, 16, /*->13023*/ // 2 children in Scope
6900/* 13007*/ OPC_RecordChild0, // #0 = $rhs
6901/* 13008*/ OPC_MoveChild1,
6902/* 13009*/ OPC_CheckImmAllOnesV,
6903/* 13010*/ OPC_MoveParent,
6904/* 13011*/ OPC_MoveParent,
6905/* 13012*/ OPC_RecordChild1, // #1 = $lhs
6906/* 13013*/ OPC_CheckType, MVT::v4i32,
6907/* 13015*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANDNOT), 0,
6908 MVT::v4i32, 2/*#Ops*/, 1, 0,
6909 // Src: (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$rhs, immAllOnesV:{ *:[v4i32] }), V128:{ *:[v4i32] }:$lhs) - Complexity = 10
6910 // Dst: (ANDNOT:{ *:[v4i32] } ?:{ *:[v4i32] }:$lhs, ?:{ *:[v4i32] }:$rhs)
6911/* 13023*/ /*Scope*/ 16, /*->13040*/
6912/* 13024*/ OPC_MoveChild0,
6913/* 13025*/ OPC_CheckImmAllOnesV,
6914/* 13026*/ OPC_MoveParent,
6915/* 13027*/ OPC_RecordChild1, // #0 = $rhs
6916/* 13028*/ OPC_MoveParent,
6917/* 13029*/ OPC_RecordChild1, // #1 = $lhs
6918/* 13030*/ OPC_CheckType, MVT::v4i32,
6919/* 13032*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANDNOT), 0,
6920 MVT::v4i32, 2/*#Ops*/, 1, 0,
6921 // Src: (and:{ *:[v4i32] } (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$rhs), V128:{ *:[v4i32] }:$lhs) - Complexity = 10
6922 // Dst: (ANDNOT:{ *:[v4i32] } ?:{ *:[v4i32] }:$lhs, ?:{ *:[v4i32] }:$rhs)
6923/* 13040*/ 0, /*End of Scope*/
6924/* 13041*/ /*Scope*/ 20, /*->13062*/
6925/* 13042*/ OPC_RecordChild0, // #0 = $lhs
6926/* 13043*/ OPC_MoveChild1,
6927/* 13044*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6928/* 13047*/ OPC_MoveChild0,
6929/* 13048*/ OPC_CheckImmAllOnesV,
6930/* 13049*/ OPC_MoveParent,
6931/* 13050*/ OPC_RecordChild1, // #1 = $rhs
6932/* 13051*/ OPC_MoveParent,
6933/* 13052*/ OPC_CheckType, MVT::v2i64,
6934/* 13054*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANDNOT), 0,
6935 MVT::v2i64, 2/*#Ops*/, 0, 1,
6936 // Src: (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$rhs)) - Complexity = 10
6937 // Dst: (ANDNOT:{ *:[v2i64] } ?:{ *:[v2i64] }:$lhs, ?:{ *:[v2i64] }:$rhs)
6938/* 13062*/ /*Scope*/ 40, /*->13103*/
6939/* 13063*/ OPC_MoveChild0,
6940/* 13064*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6941/* 13067*/ OPC_Scope, 16, /*->13085*/ // 2 children in Scope
6942/* 13069*/ OPC_RecordChild0, // #0 = $rhs
6943/* 13070*/ OPC_MoveChild1,
6944/* 13071*/ OPC_CheckImmAllOnesV,
6945/* 13072*/ OPC_MoveParent,
6946/* 13073*/ OPC_MoveParent,
6947/* 13074*/ OPC_RecordChild1, // #1 = $lhs
6948/* 13075*/ OPC_CheckType, MVT::v2i64,
6949/* 13077*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANDNOT), 0,
6950 MVT::v2i64, 2/*#Ops*/, 1, 0,
6951 // Src: (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$rhs, immAllOnesV:{ *:[v2i64] }), V128:{ *:[v2i64] }:$lhs) - Complexity = 10
6952 // Dst: (ANDNOT:{ *:[v2i64] } ?:{ *:[v2i64] }:$lhs, ?:{ *:[v2i64] }:$rhs)
6953/* 13085*/ /*Scope*/ 16, /*->13102*/
6954/* 13086*/ OPC_MoveChild0,
6955/* 13087*/ OPC_CheckImmAllOnesV,
6956/* 13088*/ OPC_MoveParent,
6957/* 13089*/ OPC_RecordChild1, // #0 = $rhs
6958/* 13090*/ OPC_MoveParent,
6959/* 13091*/ OPC_RecordChild1, // #1 = $lhs
6960/* 13092*/ OPC_CheckType, MVT::v2i64,
6961/* 13094*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANDNOT), 0,
6962 MVT::v2i64, 2/*#Ops*/, 1, 0,
6963 // Src: (and:{ *:[v2i64] } (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$rhs), V128:{ *:[v2i64] }:$lhs) - Complexity = 10
6964 // Dst: (ANDNOT:{ *:[v2i64] } ?:{ *:[v2i64] }:$lhs, ?:{ *:[v2i64] }:$rhs)
6965/* 13102*/ 0, /*End of Scope*/
6966/* 13103*/ /*Scope*/ 44, /*->13148*/
6967/* 13104*/ OPC_RecordChild0, // #0 = $lhs
6968/* 13105*/ OPC_RecordChild1, // #1 = $rhs
6969/* 13106*/ OPC_SwitchType /*4 cases */, 8, MVT::v16i8,// ->13117
6970/* 13109*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND), 0,
6971 MVT::v16i8, 2/*#Ops*/, 0, 1,
6972 // Src: (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
6973 // Dst: (AND:{ *:[v16i8] } ?:{ *:[v16i8] }:$lhs, ?:{ *:[v16i8] }:$rhs)
6974/* 13117*/ /*SwitchType*/ 8, MVT::v8i16,// ->13127
6975/* 13119*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND), 0,
6976 MVT::v8i16, 2/*#Ops*/, 0, 1,
6977 // Src: (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
6978 // Dst: (AND:{ *:[v8i16] } ?:{ *:[v8i16] }:$lhs, ?:{ *:[v8i16] }:$rhs)
6979/* 13127*/ /*SwitchType*/ 8, MVT::v4i32,// ->13137
6980/* 13129*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND), 0,
6981 MVT::v4i32, 2/*#Ops*/, 0, 1,
6982 // Src: (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
6983 // Dst: (AND:{ *:[v4i32] } ?:{ *:[v4i32] }:$lhs, ?:{ *:[v4i32] }:$rhs)
6984/* 13137*/ /*SwitchType*/ 8, MVT::v2i64,// ->13147
6985/* 13139*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND), 0,
6986 MVT::v2i64, 2/*#Ops*/, 0, 1,
6987 // Src: (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
6988 // Dst: (AND:{ *:[v2i64] } ?:{ *:[v2i64] }:$lhs, ?:{ *:[v2i64] }:$rhs)
6989/* 13147*/ 0, // EndSwitchType
6990/* 13148*/ 0, /*End of Scope*/
6991/* 13149*/ /*SwitchOpcode*/ 34|128,29/*3746*/, TARGET_VAL(ISD::ZERO_EXTEND),// ->16899
6992/* 13153*/ OPC_Scope, 21|128,29/*3733*/, /*->16889*/ // 2 children in Scope
6993/* 13156*/ OPC_MoveChild0,
6994/* 13157*/ OPC_SwitchOpcode /*9 cases */, 89|128,5/*729*/, TARGET_VAL(ISD::AssertZext),// ->13891
6995/* 13162*/ OPC_MoveChild0,
6996/* 13163*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
6997/* 13166*/ OPC_RecordMemRef,
6998/* 13167*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
6999/* 13168*/ OPC_CheckFoldableChainNode,
7000/* 13169*/ OPC_Scope, 60|128,3/*444*/, /*->13616*/ // 2 children in Scope
7001/* 13172*/ OPC_MoveChild1,
7002/* 13173*/ OPC_SwitchOpcode /*3 cases */, 13|128,1/*141*/, TARGET_VAL(ISD::ADD),// ->13319
7003/* 13178*/ OPC_RecordChild0, // #1 = $addr
7004/* 13179*/ OPC_RecordChild1, // #2 = $off
7005/* 13180*/ OPC_MoveChild1,
7006/* 13181*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7007/* 13184*/ OPC_MoveParent,
7008/* 13185*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
7009/* 13187*/ OPC_SwitchType /*2 cases */, 63, MVT::i32,// ->13253
7010/* 13190*/ OPC_MoveParent,
7011/* 13191*/ OPC_MoveChild2,
7012/* 13192*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7013/* 13195*/ OPC_RecordChild0, // #3 = $exp
7014/* 13196*/ OPC_MoveParent,
7015/* 13197*/ OPC_MoveChild3,
7016/* 13198*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7017/* 13201*/ OPC_RecordChild0, // #4 = $new
7018/* 13202*/ OPC_MoveParent,
7019/* 13203*/ OPC_Scope, 23, /*->13228*/ // 2 children in Scope
7020/* 13205*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
7021/* 13207*/ OPC_MoveParent,
7022/* 13208*/ OPC_MoveParent,
7023/* 13209*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7024/* 13211*/ OPC_EmitMergeInputChains1_0,
7025/* 13212*/ OPC_EmitInteger, MVT::i32, 0,
7026/* 13215*/ OPC_EmitConvertToTarget, 2,
7027/* 13217*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7028 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
7029 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 23
7030 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7031/* 13228*/ /*Scope*/ 23, /*->13252*/
7032/* 13229*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
7033/* 13231*/ OPC_MoveParent,
7034/* 13232*/ OPC_MoveParent,
7035/* 13233*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7036/* 13235*/ OPC_EmitMergeInputChains1_0,
7037/* 13236*/ OPC_EmitInteger, MVT::i32, 0,
7038/* 13239*/ OPC_EmitConvertToTarget, 2,
7039/* 13241*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7040 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
7041 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 23
7042 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7043/* 13252*/ 0, /*End of Scope*/
7044/* 13253*/ /*SwitchType*/ 63, MVT::i64,// ->13318
7045/* 13255*/ OPC_MoveParent,
7046/* 13256*/ OPC_MoveChild2,
7047/* 13257*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7048/* 13260*/ OPC_RecordChild0, // #3 = $exp
7049/* 13261*/ OPC_MoveParent,
7050/* 13262*/ OPC_MoveChild3,
7051/* 13263*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7052/* 13266*/ OPC_RecordChild0, // #4 = $new
7053/* 13267*/ OPC_MoveParent,
7054/* 13268*/ OPC_Scope, 23, /*->13293*/ // 2 children in Scope
7055/* 13270*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
7056/* 13272*/ OPC_MoveParent,
7057/* 13273*/ OPC_MoveParent,
7058/* 13274*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7059/* 13276*/ OPC_EmitMergeInputChains1_0,
7060/* 13277*/ OPC_EmitInteger, MVT::i32, 0,
7061/* 13280*/ OPC_EmitConvertToTarget, 2,
7062/* 13282*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7063 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
7064 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 23
7065 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7066/* 13293*/ /*Scope*/ 23, /*->13317*/
7067/* 13294*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
7068/* 13296*/ OPC_MoveParent,
7069/* 13297*/ OPC_MoveParent,
7070/* 13298*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7071/* 13300*/ OPC_EmitMergeInputChains1_0,
7072/* 13301*/ OPC_EmitInteger, MVT::i32, 0,
7073/* 13304*/ OPC_EmitConvertToTarget, 2,
7074/* 13306*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7075 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
7076 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 23
7077 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7078/* 13317*/ 0, /*End of Scope*/
7079/* 13318*/ 0, // EndSwitchType
7080/* 13319*/ /*SwitchOpcode*/ 13|128,1/*141*/, TARGET_VAL(ISD::OR),// ->13464
7081/* 13323*/ OPC_RecordChild0, // #1 = $addr
7082/* 13324*/ OPC_RecordChild1, // #2 = $off
7083/* 13325*/ OPC_MoveChild1,
7084/* 13326*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7085/* 13329*/ OPC_MoveParent,
7086/* 13330*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
7087/* 13332*/ OPC_SwitchType /*2 cases */, 63, MVT::i32,// ->13398
7088/* 13335*/ OPC_MoveParent,
7089/* 13336*/ OPC_MoveChild2,
7090/* 13337*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7091/* 13340*/ OPC_RecordChild0, // #3 = $exp
7092/* 13341*/ OPC_MoveParent,
7093/* 13342*/ OPC_MoveChild3,
7094/* 13343*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7095/* 13346*/ OPC_RecordChild0, // #4 = $new
7096/* 13347*/ OPC_MoveParent,
7097/* 13348*/ OPC_Scope, 23, /*->13373*/ // 2 children in Scope
7098/* 13350*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
7099/* 13352*/ OPC_MoveParent,
7100/* 13353*/ OPC_MoveParent,
7101/* 13354*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7102/* 13356*/ OPC_EmitMergeInputChains1_0,
7103/* 13357*/ OPC_EmitInteger, MVT::i32, 0,
7104/* 13360*/ OPC_EmitConvertToTarget, 2,
7105/* 13362*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7106 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
7107 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 23
7108 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7109/* 13373*/ /*Scope*/ 23, /*->13397*/
7110/* 13374*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
7111/* 13376*/ OPC_MoveParent,
7112/* 13377*/ OPC_MoveParent,
7113/* 13378*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7114/* 13380*/ OPC_EmitMergeInputChains1_0,
7115/* 13381*/ OPC_EmitInteger, MVT::i32, 0,
7116/* 13384*/ OPC_EmitConvertToTarget, 2,
7117/* 13386*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7118 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
7119 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 23
7120 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7121/* 13397*/ 0, /*End of Scope*/
7122/* 13398*/ /*SwitchType*/ 63, MVT::i64,// ->13463
7123/* 13400*/ OPC_MoveParent,
7124/* 13401*/ OPC_MoveChild2,
7125/* 13402*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7126/* 13405*/ OPC_RecordChild0, // #3 = $exp
7127/* 13406*/ OPC_MoveParent,
7128/* 13407*/ OPC_MoveChild3,
7129/* 13408*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7130/* 13411*/ OPC_RecordChild0, // #4 = $new
7131/* 13412*/ OPC_MoveParent,
7132/* 13413*/ OPC_Scope, 23, /*->13438*/ // 2 children in Scope
7133/* 13415*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
7134/* 13417*/ OPC_MoveParent,
7135/* 13418*/ OPC_MoveParent,
7136/* 13419*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7137/* 13421*/ OPC_EmitMergeInputChains1_0,
7138/* 13422*/ OPC_EmitInteger, MVT::i32, 0,
7139/* 13425*/ OPC_EmitConvertToTarget, 2,
7140/* 13427*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7141 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
7142 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 23
7143 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7144/* 13438*/ /*Scope*/ 23, /*->13462*/
7145/* 13439*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
7146/* 13441*/ OPC_MoveParent,
7147/* 13442*/ OPC_MoveParent,
7148/* 13443*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7149/* 13445*/ OPC_EmitMergeInputChains1_0,
7150/* 13446*/ OPC_EmitInteger, MVT::i32, 0,
7151/* 13449*/ OPC_EmitConvertToTarget, 2,
7152/* 13451*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7153 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
7154 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 23
7155 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7156/* 13462*/ 0, /*End of Scope*/
7157/* 13463*/ 0, // EndSwitchType
7158/* 13464*/ /*SwitchOpcode*/ 19|128,1/*147*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->13615
7159/* 13468*/ OPC_RecordChild0, // #1 = $off
7160/* 13469*/ OPC_MoveChild0,
7161/* 13470*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
7162/* 13473*/ OPC_MoveParent,
7163/* 13474*/ OPC_MoveParent,
7164/* 13475*/ OPC_MoveChild2,
7165/* 13476*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7166/* 13479*/ OPC_RecordChild0, // #2 = $exp
7167/* 13480*/ OPC_MoveParent,
7168/* 13481*/ OPC_MoveChild3,
7169/* 13482*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7170/* 13485*/ OPC_RecordChild0, // #3 = $new
7171/* 13486*/ OPC_MoveParent,
7172/* 13487*/ OPC_Scope, 62, /*->13551*/ // 2 children in Scope
7173/* 13489*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
7174/* 13491*/ OPC_MoveParent,
7175/* 13492*/ OPC_MoveParent,
7176/* 13493*/ OPC_Scope, 27, /*->13522*/ // 2 children in Scope
7177/* 13495*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
7178/* 13497*/ OPC_EmitMergeInputChains1_0,
7179/* 13498*/ OPC_EmitInteger, MVT::i32, 0,
7180/* 13501*/ OPC_EmitInteger, MVT::i32, 0,
7181/* 13504*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7182 MVT::i32, 1/*#Ops*/, 5, // Results = #6
7183/* 13511*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7184 MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
7185 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 22
7186 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7187/* 13522*/ /*Scope*/ 27, /*->13550*/
7188/* 13523*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
7189/* 13525*/ OPC_EmitMergeInputChains1_0,
7190/* 13526*/ OPC_EmitInteger, MVT::i32, 0,
7191/* 13529*/ OPC_EmitInteger, MVT::i64, 0,
7192/* 13532*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
7193 MVT::i64, 1/*#Ops*/, 5, // Results = #6
7194/* 13539*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7195 MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
7196 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 22
7197 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7198/* 13550*/ 0, /*End of Scope*/
7199/* 13551*/ /*Scope*/ 62, /*->13614*/
7200/* 13552*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
7201/* 13554*/ OPC_MoveParent,
7202/* 13555*/ OPC_MoveParent,
7203/* 13556*/ OPC_Scope, 27, /*->13585*/ // 2 children in Scope
7204/* 13558*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
7205/* 13560*/ OPC_EmitMergeInputChains1_0,
7206/* 13561*/ OPC_EmitInteger, MVT::i32, 0,
7207/* 13564*/ OPC_EmitInteger, MVT::i32, 0,
7208/* 13567*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7209 MVT::i32, 1/*#Ops*/, 5, // Results = #6
7210/* 13574*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7211 MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
7212 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 22
7213 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7214/* 13585*/ /*Scope*/ 27, /*->13613*/
7215/* 13586*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
7216/* 13588*/ OPC_EmitMergeInputChains1_0,
7217/* 13589*/ OPC_EmitInteger, MVT::i32, 0,
7218/* 13592*/ OPC_EmitInteger, MVT::i64, 0,
7219/* 13595*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
7220 MVT::i64, 1/*#Ops*/, 5, // Results = #6
7221/* 13602*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7222 MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
7223 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 22
7224 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7225/* 13613*/ 0, /*End of Scope*/
7226/* 13614*/ 0, /*End of Scope*/
7227/* 13615*/ 0, // EndSwitchOpcode
7228/* 13616*/ /*Scope*/ 16|128,2/*272*/, /*->13890*/
7229/* 13618*/ OPC_RecordChild1, // #1 = $off
7230/* 13619*/ OPC_Scope, 5|128,1/*133*/, /*->13755*/ // 3 children in Scope
7231/* 13622*/ OPC_MoveChild1,
7232/* 13623*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7233/* 13626*/ OPC_MoveParent,
7234/* 13627*/ OPC_MoveChild2,
7235/* 13628*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7236/* 13631*/ OPC_RecordChild0, // #2 = $exp
7237/* 13632*/ OPC_MoveParent,
7238/* 13633*/ OPC_MoveChild3,
7239/* 13634*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7240/* 13637*/ OPC_RecordChild0, // #3 = $new
7241/* 13638*/ OPC_MoveParent,
7242/* 13639*/ OPC_Scope, 56, /*->13697*/ // 2 children in Scope
7243/* 13641*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
7244/* 13643*/ OPC_MoveParent,
7245/* 13644*/ OPC_MoveParent,
7246/* 13645*/ OPC_EmitMergeInputChains1_0,
7247/* 13646*/ OPC_EmitInteger, MVT::i32, 0,
7248/* 13649*/ OPC_EmitConvertToTarget, 1,
7249/* 13651*/ OPC_Scope, 21, /*->13674*/ // 2 children in Scope
7250/* 13653*/ OPC_EmitInteger, MVT::i32, 0,
7251/* 13656*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7252 MVT::i32, 1/*#Ops*/, 6, // Results = #7
7253/* 13663*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7254 MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
7255 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 19
7256 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7257/* 13674*/ /*Scope*/ 21, /*->13696*/
7258/* 13675*/ OPC_EmitInteger, MVT::i64, 0,
7259/* 13678*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
7260 MVT::i64, 1/*#Ops*/, 6, // Results = #7
7261/* 13685*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7262 MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
7263 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 19
7264 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7265/* 13696*/ 0, /*End of Scope*/
7266/* 13697*/ /*Scope*/ 56, /*->13754*/
7267/* 13698*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
7268/* 13700*/ OPC_MoveParent,
7269/* 13701*/ OPC_MoveParent,
7270/* 13702*/ OPC_EmitMergeInputChains1_0,
7271/* 13703*/ OPC_EmitInteger, MVT::i32, 0,
7272/* 13706*/ OPC_EmitConvertToTarget, 1,
7273/* 13708*/ OPC_Scope, 21, /*->13731*/ // 2 children in Scope
7274/* 13710*/ OPC_EmitInteger, MVT::i32, 0,
7275/* 13713*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7276 MVT::i32, 1/*#Ops*/, 6, // Results = #7
7277/* 13720*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7278 MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
7279 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 19
7280 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7281/* 13731*/ /*Scope*/ 21, /*->13753*/
7282/* 13732*/ OPC_EmitInteger, MVT::i64, 0,
7283/* 13735*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
7284 MVT::i64, 1/*#Ops*/, 6, // Results = #7
7285/* 13742*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7286 MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
7287 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 19
7288 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7289/* 13753*/ 0, /*End of Scope*/
7290/* 13754*/ 0, /*End of Scope*/
7291/* 13755*/ /*Scope*/ 66, /*->13822*/
7292/* 13756*/ OPC_CheckChild1Type, MVT::i32,
7293/* 13758*/ OPC_MoveChild2,
7294/* 13759*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7295/* 13762*/ OPC_RecordChild0, // #2 = $exp
7296/* 13763*/ OPC_MoveParent,
7297/* 13764*/ OPC_MoveChild3,
7298/* 13765*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7299/* 13768*/ OPC_RecordChild0, // #3 = $new
7300/* 13769*/ OPC_MoveParent,
7301/* 13770*/ OPC_Scope, 24, /*->13796*/ // 2 children in Scope
7302/* 13772*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
7303/* 13774*/ OPC_MoveParent,
7304/* 13775*/ OPC_MoveParent,
7305/* 13776*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7306/* 13778*/ OPC_EmitMergeInputChains1_0,
7307/* 13779*/ OPC_EmitInteger, MVT::i32, 0,
7308/* 13782*/ OPC_EmitInteger, MVT::i32, 0,
7309/* 13785*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7310 MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
7311 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 16
7312 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7313/* 13796*/ /*Scope*/ 24, /*->13821*/
7314/* 13797*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
7315/* 13799*/ OPC_MoveParent,
7316/* 13800*/ OPC_MoveParent,
7317/* 13801*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7318/* 13803*/ OPC_EmitMergeInputChains1_0,
7319/* 13804*/ OPC_EmitInteger, MVT::i32, 0,
7320/* 13807*/ OPC_EmitInteger, MVT::i32, 0,
7321/* 13810*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7322 MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
7323 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 16
7324 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7325/* 13821*/ 0, /*End of Scope*/
7326/* 13822*/ /*Scope*/ 66, /*->13889*/
7327/* 13823*/ OPC_CheckChild1Type, MVT::i64,
7328/* 13825*/ OPC_MoveChild2,
7329/* 13826*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7330/* 13829*/ OPC_RecordChild0, // #2 = $exp
7331/* 13830*/ OPC_MoveParent,
7332/* 13831*/ OPC_MoveChild3,
7333/* 13832*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7334/* 13835*/ OPC_RecordChild0, // #3 = $new
7335/* 13836*/ OPC_MoveParent,
7336/* 13837*/ OPC_Scope, 24, /*->13863*/ // 2 children in Scope
7337/* 13839*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
7338/* 13841*/ OPC_MoveParent,
7339/* 13842*/ OPC_MoveParent,
7340/* 13843*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7341/* 13845*/ OPC_EmitMergeInputChains1_0,
7342/* 13846*/ OPC_EmitInteger, MVT::i32, 0,
7343/* 13849*/ OPC_EmitInteger, MVT::i64, 0,
7344/* 13852*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7345 MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
7346 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 16
7347 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7348/* 13863*/ /*Scope*/ 24, /*->13888*/
7349/* 13864*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
7350/* 13866*/ OPC_MoveParent,
7351/* 13867*/ OPC_MoveParent,
7352/* 13868*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7353/* 13870*/ OPC_EmitMergeInputChains1_0,
7354/* 13871*/ OPC_EmitInteger, MVT::i32, 0,
7355/* 13874*/ OPC_EmitInteger, MVT::i64, 0,
7356/* 13877*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7357 MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
7358 // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 16
7359 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7360/* 13888*/ 0, /*End of Scope*/
7361/* 13889*/ 0, /*End of Scope*/
7362/* 13890*/ 0, /*End of Scope*/
7363/* 13891*/ /*SwitchOpcode*/ 38|128,3/*422*/, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),// ->14317
7364/* 13895*/ OPC_RecordMemRef,
7365/* 13896*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
7366/* 13897*/ OPC_Scope, 6|128,2/*262*/, /*->14162*/ // 2 children in Scope
7367/* 13900*/ OPC_MoveChild1,
7368/* 13901*/ OPC_SwitchOpcode /*3 cases */, 85, TARGET_VAL(ISD::ADD),// ->13990
7369/* 13905*/ OPC_RecordChild0, // #1 = $addr
7370/* 13906*/ OPC_RecordChild1, // #2 = $off
7371/* 13907*/ OPC_MoveChild1,
7372/* 13908*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7373/* 13911*/ OPC_MoveParent,
7374/* 13912*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
7375/* 13914*/ OPC_SwitchType /*2 cases */, 35, MVT::i32,// ->13952
7376/* 13917*/ OPC_MoveParent,
7377/* 13918*/ OPC_MoveChild2,
7378/* 13919*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7379/* 13922*/ OPC_RecordChild0, // #3 = $exp
7380/* 13923*/ OPC_MoveParent,
7381/* 13924*/ OPC_MoveChild3,
7382/* 13925*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7383/* 13928*/ OPC_RecordChild0, // #4 = $new
7384/* 13929*/ OPC_MoveParent,
7385/* 13930*/ OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_32
7386/* 13932*/ OPC_MoveParent,
7387/* 13933*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7388/* 13935*/ OPC_EmitMergeInputChains1_0,
7389/* 13936*/ OPC_EmitInteger, MVT::i32, 0,
7390/* 13939*/ OPC_EmitConvertToTarget, 2,
7391/* 13941*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7392 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
7393 // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 20
7394 // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7395/* 13952*/ /*SwitchType*/ 35, MVT::i64,// ->13989
7396/* 13954*/ OPC_MoveParent,
7397/* 13955*/ OPC_MoveChild2,
7398/* 13956*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7399/* 13959*/ OPC_RecordChild0, // #3 = $exp
7400/* 13960*/ OPC_MoveParent,
7401/* 13961*/ OPC_MoveChild3,
7402/* 13962*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7403/* 13965*/ OPC_RecordChild0, // #4 = $new
7404/* 13966*/ OPC_MoveParent,
7405/* 13967*/ OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_32
7406/* 13969*/ OPC_MoveParent,
7407/* 13970*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7408/* 13972*/ OPC_EmitMergeInputChains1_0,
7409/* 13973*/ OPC_EmitInteger, MVT::i32, 0,
7410/* 13976*/ OPC_EmitConvertToTarget, 2,
7411/* 13978*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7412 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
7413 // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 20
7414 // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7415/* 13989*/ 0, // EndSwitchType
7416/* 13990*/ /*SwitchOpcode*/ 85, TARGET_VAL(ISD::OR),// ->14078
7417/* 13993*/ OPC_RecordChild0, // #1 = $addr
7418/* 13994*/ OPC_RecordChild1, // #2 = $off
7419/* 13995*/ OPC_MoveChild1,
7420/* 13996*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7421/* 13999*/ OPC_MoveParent,
7422/* 14000*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
7423/* 14002*/ OPC_SwitchType /*2 cases */, 35, MVT::i32,// ->14040
7424/* 14005*/ OPC_MoveParent,
7425/* 14006*/ OPC_MoveChild2,
7426/* 14007*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7427/* 14010*/ OPC_RecordChild0, // #3 = $exp
7428/* 14011*/ OPC_MoveParent,
7429/* 14012*/ OPC_MoveChild3,
7430/* 14013*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7431/* 14016*/ OPC_RecordChild0, // #4 = $new
7432/* 14017*/ OPC_MoveParent,
7433/* 14018*/ OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_32
7434/* 14020*/ OPC_MoveParent,
7435/* 14021*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7436/* 14023*/ OPC_EmitMergeInputChains1_0,
7437/* 14024*/ OPC_EmitInteger, MVT::i32, 0,
7438/* 14027*/ OPC_EmitConvertToTarget, 2,
7439/* 14029*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7440 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
7441 // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 20
7442 // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7443/* 14040*/ /*SwitchType*/ 35, MVT::i64,// ->14077
7444/* 14042*/ OPC_MoveParent,
7445/* 14043*/ OPC_MoveChild2,
7446/* 14044*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7447/* 14047*/ OPC_RecordChild0, // #3 = $exp
7448/* 14048*/ OPC_MoveParent,
7449/* 14049*/ OPC_MoveChild3,
7450/* 14050*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7451/* 14053*/ OPC_RecordChild0, // #4 = $new
7452/* 14054*/ OPC_MoveParent,
7453/* 14055*/ OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_32
7454/* 14057*/ OPC_MoveParent,
7455/* 14058*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7456/* 14060*/ OPC_EmitMergeInputChains1_0,
7457/* 14061*/ OPC_EmitInteger, MVT::i32, 0,
7458/* 14064*/ OPC_EmitConvertToTarget, 2,
7459/* 14066*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7460 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
7461 // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 20
7462 // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7463/* 14077*/ 0, // EndSwitchType
7464/* 14078*/ /*SwitchOpcode*/ 80, TARGET_VAL(WebAssemblyISD::Wrapper),// ->14161
7465/* 14081*/ OPC_RecordChild0, // #1 = $off
7466/* 14082*/ OPC_MoveChild0,
7467/* 14083*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
7468/* 14086*/ OPC_MoveParent,
7469/* 14087*/ OPC_MoveParent,
7470/* 14088*/ OPC_MoveChild2,
7471/* 14089*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7472/* 14092*/ OPC_RecordChild0, // #2 = $exp
7473/* 14093*/ OPC_MoveParent,
7474/* 14094*/ OPC_MoveChild3,
7475/* 14095*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7476/* 14098*/ OPC_RecordChild0, // #3 = $new
7477/* 14099*/ OPC_MoveParent,
7478/* 14100*/ OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_32
7479/* 14102*/ OPC_MoveParent,
7480/* 14103*/ OPC_Scope, 27, /*->14132*/ // 2 children in Scope
7481/* 14105*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
7482/* 14107*/ OPC_EmitMergeInputChains1_0,
7483/* 14108*/ OPC_EmitInteger, MVT::i32, 0,
7484/* 14111*/ OPC_EmitInteger, MVT::i32, 0,
7485/* 14114*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7486 MVT::i32, 1/*#Ops*/, 5, // Results = #6
7487/* 14121*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7488 MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
7489 // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 19
7490 // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7491/* 14132*/ /*Scope*/ 27, /*->14160*/
7492/* 14133*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
7493/* 14135*/ OPC_EmitMergeInputChains1_0,
7494/* 14136*/ OPC_EmitInteger, MVT::i32, 0,
7495/* 14139*/ OPC_EmitInteger, MVT::i64, 0,
7496/* 14142*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
7497 MVT::i64, 1/*#Ops*/, 5, // Results = #6
7498/* 14149*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7499 MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
7500 // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 19
7501 // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7502/* 14160*/ 0, /*End of Scope*/
7503/* 14161*/ 0, // EndSwitchOpcode
7504/* 14162*/ /*Scope*/ 24|128,1/*152*/, /*->14316*/
7505/* 14164*/ OPC_RecordChild1, // #1 = $off
7506/* 14165*/ OPC_Scope, 72, /*->14239*/ // 3 children in Scope
7507/* 14167*/ OPC_MoveChild1,
7508/* 14168*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7509/* 14171*/ OPC_MoveParent,
7510/* 14172*/ OPC_MoveChild2,
7511/* 14173*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7512/* 14176*/ OPC_RecordChild0, // #2 = $exp
7513/* 14177*/ OPC_MoveParent,
7514/* 14178*/ OPC_MoveChild3,
7515/* 14179*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7516/* 14182*/ OPC_RecordChild0, // #3 = $new
7517/* 14183*/ OPC_MoveParent,
7518/* 14184*/ OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_32
7519/* 14186*/ OPC_MoveParent,
7520/* 14187*/ OPC_EmitMergeInputChains1_0,
7521/* 14188*/ OPC_EmitInteger, MVT::i32, 0,
7522/* 14191*/ OPC_EmitConvertToTarget, 1,
7523/* 14193*/ OPC_Scope, 21, /*->14216*/ // 2 children in Scope
7524/* 14195*/ OPC_EmitInteger, MVT::i32, 0,
7525/* 14198*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7526 MVT::i32, 1/*#Ops*/, 6, // Results = #7
7527/* 14205*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7528 MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
7529 // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 16
7530 // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7531/* 14216*/ /*Scope*/ 21, /*->14238*/
7532/* 14217*/ OPC_EmitInteger, MVT::i64, 0,
7533/* 14220*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
7534 MVT::i64, 1/*#Ops*/, 6, // Results = #7
7535/* 14227*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7536 MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
7537 // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 16
7538 // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7539/* 14238*/ 0, /*End of Scope*/
7540/* 14239*/ /*Scope*/ 37, /*->14277*/
7541/* 14240*/ OPC_CheckChild1Type, MVT::i32,
7542/* 14242*/ OPC_MoveChild2,
7543/* 14243*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7544/* 14246*/ OPC_RecordChild0, // #2 = $exp
7545/* 14247*/ OPC_MoveParent,
7546/* 14248*/ OPC_MoveChild3,
7547/* 14249*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7548/* 14252*/ OPC_RecordChild0, // #3 = $new
7549/* 14253*/ OPC_MoveParent,
7550/* 14254*/ OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_32
7551/* 14256*/ OPC_MoveParent,
7552/* 14257*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7553/* 14259*/ OPC_EmitMergeInputChains1_0,
7554/* 14260*/ OPC_EmitInteger, MVT::i32, 0,
7555/* 14263*/ OPC_EmitInteger, MVT::i32, 0,
7556/* 14266*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7557 MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
7558 // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 13
7559 // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7560/* 14277*/ /*Scope*/ 37, /*->14315*/
7561/* 14278*/ OPC_CheckChild1Type, MVT::i64,
7562/* 14280*/ OPC_MoveChild2,
7563/* 14281*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7564/* 14284*/ OPC_RecordChild0, // #2 = $exp
7565/* 14285*/ OPC_MoveParent,
7566/* 14286*/ OPC_MoveChild3,
7567/* 14287*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7568/* 14290*/ OPC_RecordChild0, // #3 = $new
7569/* 14291*/ OPC_MoveParent,
7570/* 14292*/ OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_32
7571/* 14294*/ OPC_MoveParent,
7572/* 14295*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7573/* 14297*/ OPC_EmitMergeInputChains1_0,
7574/* 14298*/ OPC_EmitInteger, MVT::i32, 0,
7575/* 14301*/ OPC_EmitInteger, MVT::i64, 0,
7576/* 14304*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7577 MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
7578 // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 13
7579 // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
7580/* 14315*/ 0, /*End of Scope*/
7581/* 14316*/ 0, /*End of Scope*/
7582/* 14317*/ /*SwitchOpcode*/ 118|128,2/*374*/, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),// ->14695
7583/* 14321*/ OPC_RecordMemRef,
7584/* 14322*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
7585/* 14323*/ OPC_Scope, 98|128,1/*226*/, /*->14552*/ // 2 children in Scope
7586/* 14326*/ OPC_MoveChild1,
7587/* 14327*/ OPC_SwitchOpcode /*3 cases */, 71, TARGET_VAL(ISD::ADD),// ->14402
7588/* 14331*/ OPC_RecordChild0, // #1 = $addr
7589/* 14332*/ OPC_RecordChild1, // #2 = $off
7590/* 14333*/ OPC_MoveChild1,
7591/* 14334*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7592/* 14337*/ OPC_MoveParent,
7593/* 14338*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
7594/* 14340*/ OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->14371
7595/* 14343*/ OPC_MoveParent,
7596/* 14344*/ OPC_MoveChild2,
7597/* 14345*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7598/* 14348*/ OPC_RecordChild0, // #3 = $val
7599/* 14349*/ OPC_MoveParent,
7600/* 14350*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_add_32
7601/* 14352*/ OPC_MoveParent,
7602/* 14353*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7603/* 14355*/ OPC_EmitMergeInputChains1_0,
7604/* 14356*/ OPC_EmitInteger, MVT::i32, 0,
7605/* 14359*/ OPC_EmitConvertToTarget, 2,
7606/* 14361*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7607 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
7608 // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 17
7609 // Dst: (ATOMIC_RMW32_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7610/* 14371*/ /*SwitchType*/ 28, MVT::i64,// ->14401
7611/* 14373*/ OPC_MoveParent,
7612/* 14374*/ OPC_MoveChild2,
7613/* 14375*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7614/* 14378*/ OPC_RecordChild0, // #3 = $val
7615/* 14379*/ OPC_MoveParent,
7616/* 14380*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_add_32
7617/* 14382*/ OPC_MoveParent,
7618/* 14383*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7619/* 14385*/ OPC_EmitMergeInputChains1_0,
7620/* 14386*/ OPC_EmitInteger, MVT::i32, 0,
7621/* 14389*/ OPC_EmitConvertToTarget, 2,
7622/* 14391*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7623 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
7624 // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 17
7625 // Dst: (ATOMIC_RMW32_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
7626/* 14401*/ 0, // EndSwitchType
7627/* 14402*/ /*SwitchOpcode*/ 71, TARGET_VAL(ISD::OR),// ->14476
7628/* 14405*/ OPC_RecordChild0, // #1 = $addr
7629/* 14406*/ OPC_RecordChild1, // #2 = $off
7630/* 14407*/ OPC_MoveChild1,
7631/* 14408*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7632/* 14411*/ OPC_MoveParent,
7633/* 14412*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
7634/* 14414*/ OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->14445
7635/* 14417*/ OPC_MoveParent,
7636/* 14418*/ OPC_MoveChild2,
7637/* 14419*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7638/* 14422*/ OPC_RecordChild0, // #3 = $val
7639/* 14423*/ OPC_MoveParent,
7640/* 14424*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_add_32
7641/* 14426*/ OPC_MoveParent,
7642/* 14427*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7643/* 14429*/ OPC_EmitMergeInputChains1_0,
7644/* 14430*/ OPC_EmitInteger, MVT::i32, 0,
7645/* 14433*/ OPC_EmitConvertToTarget, 2,
7646/* 14435*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7647 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
7648 // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 17
7649 // Dst: (ATOMIC_RMW32_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7650/* 14445*/ /*SwitchType*/ 28, MVT::i64,// ->14475
7651/* 14447*/ OPC_MoveParent,
7652/* 14448*/ OPC_MoveChild2,
7653/* 14449*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7654/* 14452*/ OPC_RecordChild0, // #3 = $val
7655/* 14453*/ OPC_MoveParent,
7656/* 14454*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_add_32
7657/* 14456*/ OPC_MoveParent,
7658/* 14457*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7659/* 14459*/ OPC_EmitMergeInputChains1_0,
7660/* 14460*/ OPC_EmitInteger, MVT::i32, 0,
7661/* 14463*/ OPC_EmitConvertToTarget, 2,
7662/* 14465*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7663 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
7664 // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 17
7665 // Dst: (ATOMIC_RMW32_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
7666/* 14475*/ 0, // EndSwitchType
7667/* 14476*/ /*SwitchOpcode*/ 72, TARGET_VAL(WebAssemblyISD::Wrapper),// ->14551
7668/* 14479*/ OPC_RecordChild0, // #1 = $off
7669/* 14480*/ OPC_MoveChild0,
7670/* 14481*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
7671/* 14484*/ OPC_MoveParent,
7672/* 14485*/ OPC_MoveParent,
7673/* 14486*/ OPC_MoveChild2,
7674/* 14487*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7675/* 14490*/ OPC_RecordChild0, // #2 = $val
7676/* 14491*/ OPC_MoveParent,
7677/* 14492*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_add_32
7678/* 14494*/ OPC_MoveParent,
7679/* 14495*/ OPC_Scope, 26, /*->14523*/ // 2 children in Scope
7680/* 14497*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
7681/* 14499*/ OPC_EmitMergeInputChains1_0,
7682/* 14500*/ OPC_EmitInteger, MVT::i32, 0,
7683/* 14503*/ OPC_EmitInteger, MVT::i32, 0,
7684/* 14506*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7685 MVT::i32, 1/*#Ops*/, 4, // Results = #5
7686/* 14513*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7687 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
7688 // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 16
7689 // Dst: (ATOMIC_RMW32_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
7690/* 14523*/ /*Scope*/ 26, /*->14550*/
7691/* 14524*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
7692/* 14526*/ OPC_EmitMergeInputChains1_0,
7693/* 14527*/ OPC_EmitInteger, MVT::i32, 0,
7694/* 14530*/ OPC_EmitInteger, MVT::i64, 0,
7695/* 14533*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
7696 MVT::i64, 1/*#Ops*/, 4, // Results = #5
7697/* 14540*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7698 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
7699 // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 16
7700 // Dst: (ATOMIC_RMW32_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
7701/* 14550*/ 0, /*End of Scope*/
7702/* 14551*/ 0, // EndSwitchOpcode
7703/* 14552*/ /*Scope*/ 12|128,1/*140*/, /*->14694*/
7704/* 14554*/ OPC_RecordChild1, // #1 = $off
7705/* 14555*/ OPC_Scope, 74, /*->14631*/ // 3 children in Scope
7706/* 14557*/ OPC_MoveChild1,
7707/* 14558*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7708/* 14561*/ OPC_MoveParent,
7709/* 14562*/ OPC_MoveChild2,
7710/* 14563*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7711/* 14566*/ OPC_RecordChild0, // #2 = $val
7712/* 14567*/ OPC_MoveParent,
7713/* 14568*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_add_32
7714/* 14570*/ OPC_MoveParent,
7715/* 14571*/ OPC_Scope, 28, /*->14601*/ // 2 children in Scope
7716/* 14573*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7717/* 14575*/ OPC_EmitMergeInputChains1_0,
7718/* 14576*/ OPC_EmitInteger, MVT::i32, 0,
7719/* 14579*/ OPC_EmitConvertToTarget, 1,
7720/* 14581*/ OPC_EmitInteger, MVT::i32, 0,
7721/* 14584*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7722 MVT::i32, 1/*#Ops*/, 5, // Results = #6
7723/* 14591*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7724 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
7725 // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 13
7726 // Dst: (ATOMIC_RMW32_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
7727/* 14601*/ /*Scope*/ 28, /*->14630*/
7728/* 14602*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7729/* 14604*/ OPC_EmitMergeInputChains1_0,
7730/* 14605*/ OPC_EmitInteger, MVT::i32, 0,
7731/* 14608*/ OPC_EmitConvertToTarget, 1,
7732/* 14610*/ OPC_EmitInteger, MVT::i64, 0,
7733/* 14613*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
7734 MVT::i64, 1/*#Ops*/, 5, // Results = #6
7735/* 14620*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7736 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
7737 // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 13
7738 // Dst: (ATOMIC_RMW32_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
7739/* 14630*/ 0, /*End of Scope*/
7740/* 14631*/ /*Scope*/ 30, /*->14662*/
7741/* 14632*/ OPC_CheckChild1Type, MVT::i32,
7742/* 14634*/ OPC_MoveChild2,
7743/* 14635*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7744/* 14638*/ OPC_RecordChild0, // #2 = $val
7745/* 14639*/ OPC_MoveParent,
7746/* 14640*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_add_32
7747/* 14642*/ OPC_MoveParent,
7748/* 14643*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7749/* 14645*/ OPC_EmitMergeInputChains1_0,
7750/* 14646*/ OPC_EmitInteger, MVT::i32, 0,
7751/* 14649*/ OPC_EmitInteger, MVT::i32, 0,
7752/* 14652*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7753 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
7754 // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 10
7755 // Dst: (ATOMIC_RMW32_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7756/* 14662*/ /*Scope*/ 30, /*->14693*/
7757/* 14663*/ OPC_CheckChild1Type, MVT::i64,
7758/* 14665*/ OPC_MoveChild2,
7759/* 14666*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7760/* 14669*/ OPC_RecordChild0, // #2 = $val
7761/* 14670*/ OPC_MoveParent,
7762/* 14671*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_add_32
7763/* 14673*/ OPC_MoveParent,
7764/* 14674*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7765/* 14676*/ OPC_EmitMergeInputChains1_0,
7766/* 14677*/ OPC_EmitInteger, MVT::i32, 0,
7767/* 14680*/ OPC_EmitInteger, MVT::i64, 0,
7768/* 14683*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7769 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
7770 // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 10
7771 // Dst: (ATOMIC_RMW32_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
7772/* 14693*/ 0, /*End of Scope*/
7773/* 14694*/ 0, /*End of Scope*/
7774/* 14695*/ /*SwitchOpcode*/ 118|128,2/*374*/, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),// ->15073
7775/* 14699*/ OPC_RecordMemRef,
7776/* 14700*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
7777/* 14701*/ OPC_Scope, 98|128,1/*226*/, /*->14930*/ // 2 children in Scope
7778/* 14704*/ OPC_MoveChild1,
7779/* 14705*/ OPC_SwitchOpcode /*3 cases */, 71, TARGET_VAL(ISD::ADD),// ->14780
7780/* 14709*/ OPC_RecordChild0, // #1 = $addr
7781/* 14710*/ OPC_RecordChild1, // #2 = $off
7782/* 14711*/ OPC_MoveChild1,
7783/* 14712*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7784/* 14715*/ OPC_MoveParent,
7785/* 14716*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
7786/* 14718*/ OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->14749
7787/* 14721*/ OPC_MoveParent,
7788/* 14722*/ OPC_MoveChild2,
7789/* 14723*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7790/* 14726*/ OPC_RecordChild0, // #3 = $val
7791/* 14727*/ OPC_MoveParent,
7792/* 14728*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_32
7793/* 14730*/ OPC_MoveParent,
7794/* 14731*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7795/* 14733*/ OPC_EmitMergeInputChains1_0,
7796/* 14734*/ OPC_EmitInteger, MVT::i32, 0,
7797/* 14737*/ OPC_EmitConvertToTarget, 2,
7798/* 14739*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7799 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
7800 // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 17
7801 // Dst: (ATOMIC_RMW32_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7802/* 14749*/ /*SwitchType*/ 28, MVT::i64,// ->14779
7803/* 14751*/ OPC_MoveParent,
7804/* 14752*/ OPC_MoveChild2,
7805/* 14753*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7806/* 14756*/ OPC_RecordChild0, // #3 = $val
7807/* 14757*/ OPC_MoveParent,
7808/* 14758*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_32
7809/* 14760*/ OPC_MoveParent,
7810/* 14761*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7811/* 14763*/ OPC_EmitMergeInputChains1_0,
7812/* 14764*/ OPC_EmitInteger, MVT::i32, 0,
7813/* 14767*/ OPC_EmitConvertToTarget, 2,
7814/* 14769*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7815 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
7816 // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 17
7817 // Dst: (ATOMIC_RMW32_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
7818/* 14779*/ 0, // EndSwitchType
7819/* 14780*/ /*SwitchOpcode*/ 71, TARGET_VAL(ISD::OR),// ->14854
7820/* 14783*/ OPC_RecordChild0, // #1 = $addr
7821/* 14784*/ OPC_RecordChild1, // #2 = $off
7822/* 14785*/ OPC_MoveChild1,
7823/* 14786*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7824/* 14789*/ OPC_MoveParent,
7825/* 14790*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
7826/* 14792*/ OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->14823
7827/* 14795*/ OPC_MoveParent,
7828/* 14796*/ OPC_MoveChild2,
7829/* 14797*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7830/* 14800*/ OPC_RecordChild0, // #3 = $val
7831/* 14801*/ OPC_MoveParent,
7832/* 14802*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_32
7833/* 14804*/ OPC_MoveParent,
7834/* 14805*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7835/* 14807*/ OPC_EmitMergeInputChains1_0,
7836/* 14808*/ OPC_EmitInteger, MVT::i32, 0,
7837/* 14811*/ OPC_EmitConvertToTarget, 2,
7838/* 14813*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7839 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
7840 // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 17
7841 // Dst: (ATOMIC_RMW32_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7842/* 14823*/ /*SwitchType*/ 28, MVT::i64,// ->14853
7843/* 14825*/ OPC_MoveParent,
7844/* 14826*/ OPC_MoveChild2,
7845/* 14827*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7846/* 14830*/ OPC_RecordChild0, // #3 = $val
7847/* 14831*/ OPC_MoveParent,
7848/* 14832*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_32
7849/* 14834*/ OPC_MoveParent,
7850/* 14835*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7851/* 14837*/ OPC_EmitMergeInputChains1_0,
7852/* 14838*/ OPC_EmitInteger, MVT::i32, 0,
7853/* 14841*/ OPC_EmitConvertToTarget, 2,
7854/* 14843*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7855 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
7856 // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 17
7857 // Dst: (ATOMIC_RMW32_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
7858/* 14853*/ 0, // EndSwitchType
7859/* 14854*/ /*SwitchOpcode*/ 72, TARGET_VAL(WebAssemblyISD::Wrapper),// ->14929
7860/* 14857*/ OPC_RecordChild0, // #1 = $off
7861/* 14858*/ OPC_MoveChild0,
7862/* 14859*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
7863/* 14862*/ OPC_MoveParent,
7864/* 14863*/ OPC_MoveParent,
7865/* 14864*/ OPC_MoveChild2,
7866/* 14865*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7867/* 14868*/ OPC_RecordChild0, // #2 = $val
7868/* 14869*/ OPC_MoveParent,
7869/* 14870*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_32
7870/* 14872*/ OPC_MoveParent,
7871/* 14873*/ OPC_Scope, 26, /*->14901*/ // 2 children in Scope
7872/* 14875*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
7873/* 14877*/ OPC_EmitMergeInputChains1_0,
7874/* 14878*/ OPC_EmitInteger, MVT::i32, 0,
7875/* 14881*/ OPC_EmitInteger, MVT::i32, 0,
7876/* 14884*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7877 MVT::i32, 1/*#Ops*/, 4, // Results = #5
7878/* 14891*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7879 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
7880 // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 16
7881 // Dst: (ATOMIC_RMW32_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
7882/* 14901*/ /*Scope*/ 26, /*->14928*/
7883/* 14902*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
7884/* 14904*/ OPC_EmitMergeInputChains1_0,
7885/* 14905*/ OPC_EmitInteger, MVT::i32, 0,
7886/* 14908*/ OPC_EmitInteger, MVT::i64, 0,
7887/* 14911*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
7888 MVT::i64, 1/*#Ops*/, 4, // Results = #5
7889/* 14918*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7890 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
7891 // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 16
7892 // Dst: (ATOMIC_RMW32_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
7893/* 14928*/ 0, /*End of Scope*/
7894/* 14929*/ 0, // EndSwitchOpcode
7895/* 14930*/ /*Scope*/ 12|128,1/*140*/, /*->15072*/
7896/* 14932*/ OPC_RecordChild1, // #1 = $off
7897/* 14933*/ OPC_Scope, 74, /*->15009*/ // 3 children in Scope
7898/* 14935*/ OPC_MoveChild1,
7899/* 14936*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7900/* 14939*/ OPC_MoveParent,
7901/* 14940*/ OPC_MoveChild2,
7902/* 14941*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7903/* 14944*/ OPC_RecordChild0, // #2 = $val
7904/* 14945*/ OPC_MoveParent,
7905/* 14946*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_32
7906/* 14948*/ OPC_MoveParent,
7907/* 14949*/ OPC_Scope, 28, /*->14979*/ // 2 children in Scope
7908/* 14951*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7909/* 14953*/ OPC_EmitMergeInputChains1_0,
7910/* 14954*/ OPC_EmitInteger, MVT::i32, 0,
7911/* 14957*/ OPC_EmitConvertToTarget, 1,
7912/* 14959*/ OPC_EmitInteger, MVT::i32, 0,
7913/* 14962*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7914 MVT::i32, 1/*#Ops*/, 5, // Results = #6
7915/* 14969*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7916 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
7917 // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 13
7918 // Dst: (ATOMIC_RMW32_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
7919/* 14979*/ /*Scope*/ 28, /*->15008*/
7920/* 14980*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7921/* 14982*/ OPC_EmitMergeInputChains1_0,
7922/* 14983*/ OPC_EmitInteger, MVT::i32, 0,
7923/* 14986*/ OPC_EmitConvertToTarget, 1,
7924/* 14988*/ OPC_EmitInteger, MVT::i64, 0,
7925/* 14991*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
7926 MVT::i64, 1/*#Ops*/, 5, // Results = #6
7927/* 14998*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7928 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
7929 // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 13
7930 // Dst: (ATOMIC_RMW32_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
7931/* 15008*/ 0, /*End of Scope*/
7932/* 15009*/ /*Scope*/ 30, /*->15040*/
7933/* 15010*/ OPC_CheckChild1Type, MVT::i32,
7934/* 15012*/ OPC_MoveChild2,
7935/* 15013*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7936/* 15016*/ OPC_RecordChild0, // #2 = $val
7937/* 15017*/ OPC_MoveParent,
7938/* 15018*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_32
7939/* 15020*/ OPC_MoveParent,
7940/* 15021*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7941/* 15023*/ OPC_EmitMergeInputChains1_0,
7942/* 15024*/ OPC_EmitInteger, MVT::i32, 0,
7943/* 15027*/ OPC_EmitInteger, MVT::i32, 0,
7944/* 15030*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7945 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
7946 // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 10
7947 // Dst: (ATOMIC_RMW32_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7948/* 15040*/ /*Scope*/ 30, /*->15071*/
7949/* 15041*/ OPC_CheckChild1Type, MVT::i64,
7950/* 15043*/ OPC_MoveChild2,
7951/* 15044*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7952/* 15047*/ OPC_RecordChild0, // #2 = $val
7953/* 15048*/ OPC_MoveParent,
7954/* 15049*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_32
7955/* 15051*/ OPC_MoveParent,
7956/* 15052*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7957/* 15054*/ OPC_EmitMergeInputChains1_0,
7958/* 15055*/ OPC_EmitInteger, MVT::i32, 0,
7959/* 15058*/ OPC_EmitInteger, MVT::i64, 0,
7960/* 15061*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
7961 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
7962 // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 10
7963 // Dst: (ATOMIC_RMW32_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
7964/* 15071*/ 0, /*End of Scope*/
7965/* 15072*/ 0, /*End of Scope*/
7966/* 15073*/ /*SwitchOpcode*/ 118|128,2/*374*/, TARGET_VAL(ISD::ATOMIC_LOAD_AND),// ->15451
7967/* 15077*/ OPC_RecordMemRef,
7968/* 15078*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
7969/* 15079*/ OPC_Scope, 98|128,1/*226*/, /*->15308*/ // 2 children in Scope
7970/* 15082*/ OPC_MoveChild1,
7971/* 15083*/ OPC_SwitchOpcode /*3 cases */, 71, TARGET_VAL(ISD::ADD),// ->15158
7972/* 15087*/ OPC_RecordChild0, // #1 = $addr
7973/* 15088*/ OPC_RecordChild1, // #2 = $off
7974/* 15089*/ OPC_MoveChild1,
7975/* 15090*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7976/* 15093*/ OPC_MoveParent,
7977/* 15094*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
7978/* 15096*/ OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->15127
7979/* 15099*/ OPC_MoveParent,
7980/* 15100*/ OPC_MoveChild2,
7981/* 15101*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7982/* 15104*/ OPC_RecordChild0, // #3 = $val
7983/* 15105*/ OPC_MoveParent,
7984/* 15106*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_and_32
7985/* 15108*/ OPC_MoveParent,
7986/* 15109*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
7987/* 15111*/ OPC_EmitMergeInputChains1_0,
7988/* 15112*/ OPC_EmitInteger, MVT::i32, 0,
7989/* 15115*/ OPC_EmitConvertToTarget, 2,
7990/* 15117*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
7991 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
7992 // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 17
7993 // Dst: (ATOMIC_RMW32_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7994/* 15127*/ /*SwitchType*/ 28, MVT::i64,// ->15157
7995/* 15129*/ OPC_MoveParent,
7996/* 15130*/ OPC_MoveChild2,
7997/* 15131*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7998/* 15134*/ OPC_RecordChild0, // #3 = $val
7999/* 15135*/ OPC_MoveParent,
8000/* 15136*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_and_32
8001/* 15138*/ OPC_MoveParent,
8002/* 15139*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8003/* 15141*/ OPC_EmitMergeInputChains1_0,
8004/* 15142*/ OPC_EmitInteger, MVT::i32, 0,
8005/* 15145*/ OPC_EmitConvertToTarget, 2,
8006/* 15147*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8007 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
8008 // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 17
8009 // Dst: (ATOMIC_RMW32_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
8010/* 15157*/ 0, // EndSwitchType
8011/* 15158*/ /*SwitchOpcode*/ 71, TARGET_VAL(ISD::OR),// ->15232
8012/* 15161*/ OPC_RecordChild0, // #1 = $addr
8013/* 15162*/ OPC_RecordChild1, // #2 = $off
8014/* 15163*/ OPC_MoveChild1,
8015/* 15164*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8016/* 15167*/ OPC_MoveParent,
8017/* 15168*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
8018/* 15170*/ OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->15201
8019/* 15173*/ OPC_MoveParent,
8020/* 15174*/ OPC_MoveChild2,
8021/* 15175*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8022/* 15178*/ OPC_RecordChild0, // #3 = $val
8023/* 15179*/ OPC_MoveParent,
8024/* 15180*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_and_32
8025/* 15182*/ OPC_MoveParent,
8026/* 15183*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8027/* 15185*/ OPC_EmitMergeInputChains1_0,
8028/* 15186*/ OPC_EmitInteger, MVT::i32, 0,
8029/* 15189*/ OPC_EmitConvertToTarget, 2,
8030/* 15191*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8031 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
8032 // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 17
8033 // Dst: (ATOMIC_RMW32_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
8034/* 15201*/ /*SwitchType*/ 28, MVT::i64,// ->15231
8035/* 15203*/ OPC_MoveParent,
8036/* 15204*/ OPC_MoveChild2,
8037/* 15205*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8038/* 15208*/ OPC_RecordChild0, // #3 = $val
8039/* 15209*/ OPC_MoveParent,
8040/* 15210*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_and_32
8041/* 15212*/ OPC_MoveParent,
8042/* 15213*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8043/* 15215*/ OPC_EmitMergeInputChains1_0,
8044/* 15216*/ OPC_EmitInteger, MVT::i32, 0,
8045/* 15219*/ OPC_EmitConvertToTarget, 2,
8046/* 15221*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8047 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
8048 // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 17
8049 // Dst: (ATOMIC_RMW32_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
8050/* 15231*/ 0, // EndSwitchType
8051/* 15232*/ /*SwitchOpcode*/ 72, TARGET_VAL(WebAssemblyISD::Wrapper),// ->15307
8052/* 15235*/ OPC_RecordChild0, // #1 = $off
8053/* 15236*/ OPC_MoveChild0,
8054/* 15237*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
8055/* 15240*/ OPC_MoveParent,
8056/* 15241*/ OPC_MoveParent,
8057/* 15242*/ OPC_MoveChild2,
8058/* 15243*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8059/* 15246*/ OPC_RecordChild0, // #2 = $val
8060/* 15247*/ OPC_MoveParent,
8061/* 15248*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_and_32
8062/* 15250*/ OPC_MoveParent,
8063/* 15251*/ OPC_Scope, 26, /*->15279*/ // 2 children in Scope
8064/* 15253*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
8065/* 15255*/ OPC_EmitMergeInputChains1_0,
8066/* 15256*/ OPC_EmitInteger, MVT::i32, 0,
8067/* 15259*/ OPC_EmitInteger, MVT::i32, 0,
8068/* 15262*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8069 MVT::i32, 1/*#Ops*/, 4, // Results = #5
8070/* 15269*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8071 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
8072 // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 16
8073 // Dst: (ATOMIC_RMW32_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
8074/* 15279*/ /*Scope*/ 26, /*->15306*/
8075/* 15280*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
8076/* 15282*/ OPC_EmitMergeInputChains1_0,
8077/* 15283*/ OPC_EmitInteger, MVT::i32, 0,
8078/* 15286*/ OPC_EmitInteger, MVT::i64, 0,
8079/* 15289*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
8080 MVT::i64, 1/*#Ops*/, 4, // Results = #5
8081/* 15296*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8082 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
8083 // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 16
8084 // Dst: (ATOMIC_RMW32_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
8085/* 15306*/ 0, /*End of Scope*/
8086/* 15307*/ 0, // EndSwitchOpcode
8087/* 15308*/ /*Scope*/ 12|128,1/*140*/, /*->15450*/
8088/* 15310*/ OPC_RecordChild1, // #1 = $off
8089/* 15311*/ OPC_Scope, 74, /*->15387*/ // 3 children in Scope
8090/* 15313*/ OPC_MoveChild1,
8091/* 15314*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8092/* 15317*/ OPC_MoveParent,
8093/* 15318*/ OPC_MoveChild2,
8094/* 15319*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8095/* 15322*/ OPC_RecordChild0, // #2 = $val
8096/* 15323*/ OPC_MoveParent,
8097/* 15324*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_and_32
8098/* 15326*/ OPC_MoveParent,
8099/* 15327*/ OPC_Scope, 28, /*->15357*/ // 2 children in Scope
8100/* 15329*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8101/* 15331*/ OPC_EmitMergeInputChains1_0,
8102/* 15332*/ OPC_EmitInteger, MVT::i32, 0,
8103/* 15335*/ OPC_EmitConvertToTarget, 1,
8104/* 15337*/ OPC_EmitInteger, MVT::i32, 0,
8105/* 15340*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8106 MVT::i32, 1/*#Ops*/, 5, // Results = #6
8107/* 15347*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8108 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
8109 // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 13
8110 // Dst: (ATOMIC_RMW32_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
8111/* 15357*/ /*Scope*/ 28, /*->15386*/
8112/* 15358*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8113/* 15360*/ OPC_EmitMergeInputChains1_0,
8114/* 15361*/ OPC_EmitInteger, MVT::i32, 0,
8115/* 15364*/ OPC_EmitConvertToTarget, 1,
8116/* 15366*/ OPC_EmitInteger, MVT::i64, 0,
8117/* 15369*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
8118 MVT::i64, 1/*#Ops*/, 5, // Results = #6
8119/* 15376*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8120 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
8121 // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 13
8122 // Dst: (ATOMIC_RMW32_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
8123/* 15386*/ 0, /*End of Scope*/
8124/* 15387*/ /*Scope*/ 30, /*->15418*/
8125/* 15388*/ OPC_CheckChild1Type, MVT::i32,
8126/* 15390*/ OPC_MoveChild2,
8127/* 15391*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8128/* 15394*/ OPC_RecordChild0, // #2 = $val
8129/* 15395*/ OPC_MoveParent,
8130/* 15396*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_and_32
8131/* 15398*/ OPC_MoveParent,
8132/* 15399*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8133/* 15401*/ OPC_EmitMergeInputChains1_0,
8134/* 15402*/ OPC_EmitInteger, MVT::i32, 0,
8135/* 15405*/ OPC_EmitInteger, MVT::i32, 0,
8136/* 15408*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8137 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
8138 // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 10
8139 // Dst: (ATOMIC_RMW32_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
8140/* 15418*/ /*Scope*/ 30, /*->15449*/
8141/* 15419*/ OPC_CheckChild1Type, MVT::i64,
8142/* 15421*/ OPC_MoveChild2,
8143/* 15422*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8144/* 15425*/ OPC_RecordChild0, // #2 = $val
8145/* 15426*/ OPC_MoveParent,
8146/* 15427*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_and_32
8147/* 15429*/ OPC_MoveParent,
8148/* 15430*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8149/* 15432*/ OPC_EmitMergeInputChains1_0,
8150/* 15433*/ OPC_EmitInteger, MVT::i32, 0,
8151/* 15436*/ OPC_EmitInteger, MVT::i64, 0,
8152/* 15439*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8153 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
8154 // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 10
8155 // Dst: (ATOMIC_RMW32_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
8156/* 15449*/ 0, /*End of Scope*/
8157/* 15450*/ 0, /*End of Scope*/
8158/* 15451*/ /*SwitchOpcode*/ 118|128,2/*374*/, TARGET_VAL(ISD::ATOMIC_LOAD_OR),// ->15829
8159/* 15455*/ OPC_RecordMemRef,
8160/* 15456*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
8161/* 15457*/ OPC_Scope, 98|128,1/*226*/, /*->15686*/ // 2 children in Scope
8162/* 15460*/ OPC_MoveChild1,
8163/* 15461*/ OPC_SwitchOpcode /*3 cases */, 71, TARGET_VAL(ISD::ADD),// ->15536
8164/* 15465*/ OPC_RecordChild0, // #1 = $addr
8165/* 15466*/ OPC_RecordChild1, // #2 = $off
8166/* 15467*/ OPC_MoveChild1,
8167/* 15468*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8168/* 15471*/ OPC_MoveParent,
8169/* 15472*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
8170/* 15474*/ OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->15505
8171/* 15477*/ OPC_MoveParent,
8172/* 15478*/ OPC_MoveChild2,
8173/* 15479*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8174/* 15482*/ OPC_RecordChild0, // #3 = $val
8175/* 15483*/ OPC_MoveParent,
8176/* 15484*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_or_32
8177/* 15486*/ OPC_MoveParent,
8178/* 15487*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8179/* 15489*/ OPC_EmitMergeInputChains1_0,
8180/* 15490*/ OPC_EmitInteger, MVT::i32, 0,
8181/* 15493*/ OPC_EmitConvertToTarget, 2,
8182/* 15495*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8183 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
8184 // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 17
8185 // Dst: (ATOMIC_RMW32_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
8186/* 15505*/ /*SwitchType*/ 28, MVT::i64,// ->15535
8187/* 15507*/ OPC_MoveParent,
8188/* 15508*/ OPC_MoveChild2,
8189/* 15509*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8190/* 15512*/ OPC_RecordChild0, // #3 = $val
8191/* 15513*/ OPC_MoveParent,
8192/* 15514*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_or_32
8193/* 15516*/ OPC_MoveParent,
8194/* 15517*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8195/* 15519*/ OPC_EmitMergeInputChains1_0,
8196/* 15520*/ OPC_EmitInteger, MVT::i32, 0,
8197/* 15523*/ OPC_EmitConvertToTarget, 2,
8198/* 15525*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8199 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
8200 // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 17
8201 // Dst: (ATOMIC_RMW32_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
8202/* 15535*/ 0, // EndSwitchType
8203/* 15536*/ /*SwitchOpcode*/ 71, TARGET_VAL(ISD::OR),// ->15610
8204/* 15539*/ OPC_RecordChild0, // #1 = $addr
8205/* 15540*/ OPC_RecordChild1, // #2 = $off
8206/* 15541*/ OPC_MoveChild1,
8207/* 15542*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8208/* 15545*/ OPC_MoveParent,
8209/* 15546*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
8210/* 15548*/ OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->15579
8211/* 15551*/ OPC_MoveParent,
8212/* 15552*/ OPC_MoveChild2,
8213/* 15553*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8214/* 15556*/ OPC_RecordChild0, // #3 = $val
8215/* 15557*/ OPC_MoveParent,
8216/* 15558*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_or_32
8217/* 15560*/ OPC_MoveParent,
8218/* 15561*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8219/* 15563*/ OPC_EmitMergeInputChains1_0,
8220/* 15564*/ OPC_EmitInteger, MVT::i32, 0,
8221/* 15567*/ OPC_EmitConvertToTarget, 2,
8222/* 15569*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8223 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
8224 // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 17
8225 // Dst: (ATOMIC_RMW32_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
8226/* 15579*/ /*SwitchType*/ 28, MVT::i64,// ->15609
8227/* 15581*/ OPC_MoveParent,
8228/* 15582*/ OPC_MoveChild2,
8229/* 15583*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8230/* 15586*/ OPC_RecordChild0, // #3 = $val
8231/* 15587*/ OPC_MoveParent,
8232/* 15588*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_or_32
8233/* 15590*/ OPC_MoveParent,
8234/* 15591*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8235/* 15593*/ OPC_EmitMergeInputChains1_0,
8236/* 15594*/ OPC_EmitInteger, MVT::i32, 0,
8237/* 15597*/ OPC_EmitConvertToTarget, 2,
8238/* 15599*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8239 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
8240 // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 17
8241 // Dst: (ATOMIC_RMW32_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
8242/* 15609*/ 0, // EndSwitchType
8243/* 15610*/ /*SwitchOpcode*/ 72, TARGET_VAL(WebAssemblyISD::Wrapper),// ->15685
8244/* 15613*/ OPC_RecordChild0, // #1 = $off
8245/* 15614*/ OPC_MoveChild0,
8246/* 15615*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
8247/* 15618*/ OPC_MoveParent,
8248/* 15619*/ OPC_MoveParent,
8249/* 15620*/ OPC_MoveChild2,
8250/* 15621*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8251/* 15624*/ OPC_RecordChild0, // #2 = $val
8252/* 15625*/ OPC_MoveParent,
8253/* 15626*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_or_32
8254/* 15628*/ OPC_MoveParent,
8255/* 15629*/ OPC_Scope, 26, /*->15657*/ // 2 children in Scope
8256/* 15631*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
8257/* 15633*/ OPC_EmitMergeInputChains1_0,
8258/* 15634*/ OPC_EmitInteger, MVT::i32, 0,
8259/* 15637*/ OPC_EmitInteger, MVT::i32, 0,
8260/* 15640*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8261 MVT::i32, 1/*#Ops*/, 4, // Results = #5
8262/* 15647*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8263 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
8264 // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 16
8265 // Dst: (ATOMIC_RMW32_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
8266/* 15657*/ /*Scope*/ 26, /*->15684*/
8267/* 15658*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
8268/* 15660*/ OPC_EmitMergeInputChains1_0,
8269/* 15661*/ OPC_EmitInteger, MVT::i32, 0,
8270/* 15664*/ OPC_EmitInteger, MVT::i64, 0,
8271/* 15667*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
8272 MVT::i64, 1/*#Ops*/, 4, // Results = #5
8273/* 15674*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8274 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
8275 // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 16
8276 // Dst: (ATOMIC_RMW32_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
8277/* 15684*/ 0, /*End of Scope*/
8278/* 15685*/ 0, // EndSwitchOpcode
8279/* 15686*/ /*Scope*/ 12|128,1/*140*/, /*->15828*/
8280/* 15688*/ OPC_RecordChild1, // #1 = $off
8281/* 15689*/ OPC_Scope, 74, /*->15765*/ // 3 children in Scope
8282/* 15691*/ OPC_MoveChild1,
8283/* 15692*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8284/* 15695*/ OPC_MoveParent,
8285/* 15696*/ OPC_MoveChild2,
8286/* 15697*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8287/* 15700*/ OPC_RecordChild0, // #2 = $val
8288/* 15701*/ OPC_MoveParent,
8289/* 15702*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_or_32
8290/* 15704*/ OPC_MoveParent,
8291/* 15705*/ OPC_Scope, 28, /*->15735*/ // 2 children in Scope
8292/* 15707*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8293/* 15709*/ OPC_EmitMergeInputChains1_0,
8294/* 15710*/ OPC_EmitInteger, MVT::i32, 0,
8295/* 15713*/ OPC_EmitConvertToTarget, 1,
8296/* 15715*/ OPC_EmitInteger, MVT::i32, 0,
8297/* 15718*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8298 MVT::i32, 1/*#Ops*/, 5, // Results = #6
8299/* 15725*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8300 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
8301 // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 13
8302 // Dst: (ATOMIC_RMW32_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
8303/* 15735*/ /*Scope*/ 28, /*->15764*/
8304/* 15736*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8305/* 15738*/ OPC_EmitMergeInputChains1_0,
8306/* 15739*/ OPC_EmitInteger, MVT::i32, 0,
8307/* 15742*/ OPC_EmitConvertToTarget, 1,
8308/* 15744*/ OPC_EmitInteger, MVT::i64, 0,
8309/* 15747*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
8310 MVT::i64, 1/*#Ops*/, 5, // Results = #6
8311/* 15754*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8312 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
8313 // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 13
8314 // Dst: (ATOMIC_RMW32_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
8315/* 15764*/ 0, /*End of Scope*/
8316/* 15765*/ /*Scope*/ 30, /*->15796*/
8317/* 15766*/ OPC_CheckChild1Type, MVT::i32,
8318/* 15768*/ OPC_MoveChild2,
8319/* 15769*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8320/* 15772*/ OPC_RecordChild0, // #2 = $val
8321/* 15773*/ OPC_MoveParent,
8322/* 15774*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_or_32
8323/* 15776*/ OPC_MoveParent,
8324/* 15777*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8325/* 15779*/ OPC_EmitMergeInputChains1_0,
8326/* 15780*/ OPC_EmitInteger, MVT::i32, 0,
8327/* 15783*/ OPC_EmitInteger, MVT::i32, 0,
8328/* 15786*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8329 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
8330 // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 10
8331 // Dst: (ATOMIC_RMW32_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
8332/* 15796*/ /*Scope*/ 30, /*->15827*/
8333/* 15797*/ OPC_CheckChild1Type, MVT::i64,
8334/* 15799*/ OPC_MoveChild2,
8335/* 15800*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8336/* 15803*/ OPC_RecordChild0, // #2 = $val
8337/* 15804*/ OPC_MoveParent,
8338/* 15805*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_or_32
8339/* 15807*/ OPC_MoveParent,
8340/* 15808*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8341/* 15810*/ OPC_EmitMergeInputChains1_0,
8342/* 15811*/ OPC_EmitInteger, MVT::i32, 0,
8343/* 15814*/ OPC_EmitInteger, MVT::i64, 0,
8344/* 15817*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8345 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
8346 // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 10
8347 // Dst: (ATOMIC_RMW32_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
8348/* 15827*/ 0, /*End of Scope*/
8349/* 15828*/ 0, /*End of Scope*/
8350/* 15829*/ /*SwitchOpcode*/ 118|128,2/*374*/, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),// ->16207
8351/* 15833*/ OPC_RecordMemRef,
8352/* 15834*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
8353/* 15835*/ OPC_Scope, 98|128,1/*226*/, /*->16064*/ // 2 children in Scope
8354/* 15838*/ OPC_MoveChild1,
8355/* 15839*/ OPC_SwitchOpcode /*3 cases */, 71, TARGET_VAL(ISD::ADD),// ->15914
8356/* 15843*/ OPC_RecordChild0, // #1 = $addr
8357/* 15844*/ OPC_RecordChild1, // #2 = $off
8358/* 15845*/ OPC_MoveChild1,
8359/* 15846*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8360/* 15849*/ OPC_MoveParent,
8361/* 15850*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
8362/* 15852*/ OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->15883
8363/* 15855*/ OPC_MoveParent,
8364/* 15856*/ OPC_MoveChild2,
8365/* 15857*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8366/* 15860*/ OPC_RecordChild0, // #3 = $val
8367/* 15861*/ OPC_MoveParent,
8368/* 15862*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_32
8369/* 15864*/ OPC_MoveParent,
8370/* 15865*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8371/* 15867*/ OPC_EmitMergeInputChains1_0,
8372/* 15868*/ OPC_EmitInteger, MVT::i32, 0,
8373/* 15871*/ OPC_EmitConvertToTarget, 2,
8374/* 15873*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8375 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
8376 // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 17
8377 // Dst: (ATOMIC_RMW32_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
8378/* 15883*/ /*SwitchType*/ 28, MVT::i64,// ->15913
8379/* 15885*/ OPC_MoveParent,
8380/* 15886*/ OPC_MoveChild2,
8381/* 15887*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8382/* 15890*/ OPC_RecordChild0, // #3 = $val
8383/* 15891*/ OPC_MoveParent,
8384/* 15892*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_32
8385/* 15894*/ OPC_MoveParent,
8386/* 15895*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8387/* 15897*/ OPC_EmitMergeInputChains1_0,
8388/* 15898*/ OPC_EmitInteger, MVT::i32, 0,
8389/* 15901*/ OPC_EmitConvertToTarget, 2,
8390/* 15903*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8391 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
8392 // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 17
8393 // Dst: (ATOMIC_RMW32_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
8394/* 15913*/ 0, // EndSwitchType
8395/* 15914*/ /*SwitchOpcode*/ 71, TARGET_VAL(ISD::OR),// ->15988
8396/* 15917*/ OPC_RecordChild0, // #1 = $addr
8397/* 15918*/ OPC_RecordChild1, // #2 = $off
8398/* 15919*/ OPC_MoveChild1,
8399/* 15920*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8400/* 15923*/ OPC_MoveParent,
8401/* 15924*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
8402/* 15926*/ OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->15957
8403/* 15929*/ OPC_MoveParent,
8404/* 15930*/ OPC_MoveChild2,
8405/* 15931*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8406/* 15934*/ OPC_RecordChild0, // #3 = $val
8407/* 15935*/ OPC_MoveParent,
8408/* 15936*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_32
8409/* 15938*/ OPC_MoveParent,
8410/* 15939*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8411/* 15941*/ OPC_EmitMergeInputChains1_0,
8412/* 15942*/ OPC_EmitInteger, MVT::i32, 0,
8413/* 15945*/ OPC_EmitConvertToTarget, 2,
8414/* 15947*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8415 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
8416 // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 17
8417 // Dst: (ATOMIC_RMW32_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
8418/* 15957*/ /*SwitchType*/ 28, MVT::i64,// ->15987
8419/* 15959*/ OPC_MoveParent,
8420/* 15960*/ OPC_MoveChild2,
8421/* 15961*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8422/* 15964*/ OPC_RecordChild0, // #3 = $val
8423/* 15965*/ OPC_MoveParent,
8424/* 15966*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_32
8425/* 15968*/ OPC_MoveParent,
8426/* 15969*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8427/* 15971*/ OPC_EmitMergeInputChains1_0,
8428/* 15972*/ OPC_EmitInteger, MVT::i32, 0,
8429/* 15975*/ OPC_EmitConvertToTarget, 2,
8430/* 15977*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8431 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
8432 // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 17
8433 // Dst: (ATOMIC_RMW32_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
8434/* 15987*/ 0, // EndSwitchType
8435/* 15988*/ /*SwitchOpcode*/ 72, TARGET_VAL(WebAssemblyISD::Wrapper),// ->16063
8436/* 15991*/ OPC_RecordChild0, // #1 = $off
8437/* 15992*/ OPC_MoveChild0,
8438/* 15993*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
8439/* 15996*/ OPC_MoveParent,
8440/* 15997*/ OPC_MoveParent,
8441/* 15998*/ OPC_MoveChild2,
8442/* 15999*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8443/* 16002*/ OPC_RecordChild0, // #2 = $val
8444/* 16003*/ OPC_MoveParent,
8445/* 16004*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_32
8446/* 16006*/ OPC_MoveParent,
8447/* 16007*/ OPC_Scope, 26, /*->16035*/ // 2 children in Scope
8448/* 16009*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
8449/* 16011*/ OPC_EmitMergeInputChains1_0,
8450/* 16012*/ OPC_EmitInteger, MVT::i32, 0,
8451/* 16015*/ OPC_EmitInteger, MVT::i32, 0,
8452/* 16018*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8453 MVT::i32, 1/*#Ops*/, 4, // Results = #5
8454/* 16025*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8455 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
8456 // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 16
8457 // Dst: (ATOMIC_RMW32_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
8458/* 16035*/ /*Scope*/ 26, /*->16062*/
8459/* 16036*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
8460/* 16038*/ OPC_EmitMergeInputChains1_0,
8461/* 16039*/ OPC_EmitInteger, MVT::i32, 0,
8462/* 16042*/ OPC_EmitInteger, MVT::i64, 0,
8463/* 16045*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
8464 MVT::i64, 1/*#Ops*/, 4, // Results = #5
8465/* 16052*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8466 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
8467 // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 16
8468 // Dst: (ATOMIC_RMW32_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
8469/* 16062*/ 0, /*End of Scope*/
8470/* 16063*/ 0, // EndSwitchOpcode
8471/* 16064*/ /*Scope*/ 12|128,1/*140*/, /*->16206*/
8472/* 16066*/ OPC_RecordChild1, // #1 = $off
8473/* 16067*/ OPC_Scope, 74, /*->16143*/ // 3 children in Scope
8474/* 16069*/ OPC_MoveChild1,
8475/* 16070*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8476/* 16073*/ OPC_MoveParent,
8477/* 16074*/ OPC_MoveChild2,
8478/* 16075*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8479/* 16078*/ OPC_RecordChild0, // #2 = $val
8480/* 16079*/ OPC_MoveParent,
8481/* 16080*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_32
8482/* 16082*/ OPC_MoveParent,
8483/* 16083*/ OPC_Scope, 28, /*->16113*/ // 2 children in Scope
8484/* 16085*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8485/* 16087*/ OPC_EmitMergeInputChains1_0,
8486/* 16088*/ OPC_EmitInteger, MVT::i32, 0,
8487/* 16091*/ OPC_EmitConvertToTarget, 1,
8488/* 16093*/ OPC_EmitInteger, MVT::i32, 0,
8489/* 16096*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8490 MVT::i32, 1/*#Ops*/, 5, // Results = #6
8491/* 16103*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8492 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
8493 // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 13
8494 // Dst: (ATOMIC_RMW32_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
8495/* 16113*/ /*Scope*/ 28, /*->16142*/
8496/* 16114*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8497/* 16116*/ OPC_EmitMergeInputChains1_0,
8498/* 16117*/ OPC_EmitInteger, MVT::i32, 0,
8499/* 16120*/ OPC_EmitConvertToTarget, 1,
8500/* 16122*/ OPC_EmitInteger, MVT::i64, 0,
8501/* 16125*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
8502 MVT::i64, 1/*#Ops*/, 5, // Results = #6
8503/* 16132*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8504 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
8505 // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 13
8506 // Dst: (ATOMIC_RMW32_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
8507/* 16142*/ 0, /*End of Scope*/
8508/* 16143*/ /*Scope*/ 30, /*->16174*/
8509/* 16144*/ OPC_CheckChild1Type, MVT::i32,
8510/* 16146*/ OPC_MoveChild2,
8511/* 16147*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8512/* 16150*/ OPC_RecordChild0, // #2 = $val
8513/* 16151*/ OPC_MoveParent,
8514/* 16152*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_32
8515/* 16154*/ OPC_MoveParent,
8516/* 16155*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8517/* 16157*/ OPC_EmitMergeInputChains1_0,
8518/* 16158*/ OPC_EmitInteger, MVT::i32, 0,
8519/* 16161*/ OPC_EmitInteger, MVT::i32, 0,
8520/* 16164*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8521 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
8522 // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 10
8523 // Dst: (ATOMIC_RMW32_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
8524/* 16174*/ /*Scope*/ 30, /*->16205*/
8525/* 16175*/ OPC_CheckChild1Type, MVT::i64,
8526/* 16177*/ OPC_MoveChild2,
8527/* 16178*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8528/* 16181*/ OPC_RecordChild0, // #2 = $val
8529/* 16182*/ OPC_MoveParent,
8530/* 16183*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_32
8531/* 16185*/ OPC_MoveParent,
8532/* 16186*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8533/* 16188*/ OPC_EmitMergeInputChains1_0,
8534/* 16189*/ OPC_EmitInteger, MVT::i32, 0,
8535/* 16192*/ OPC_EmitInteger, MVT::i64, 0,
8536/* 16195*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8537 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
8538 // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 10
8539 // Dst: (ATOMIC_RMW32_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
8540/* 16205*/ 0, /*End of Scope*/
8541/* 16206*/ 0, /*End of Scope*/
8542/* 16207*/ /*SwitchOpcode*/ 118|128,2/*374*/, TARGET_VAL(ISD::ATOMIC_SWAP),// ->16585
8543/* 16211*/ OPC_RecordMemRef,
8544/* 16212*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
8545/* 16213*/ OPC_Scope, 98|128,1/*226*/, /*->16442*/ // 2 children in Scope
8546/* 16216*/ OPC_MoveChild1,
8547/* 16217*/ OPC_SwitchOpcode /*3 cases */, 71, TARGET_VAL(ISD::ADD),// ->16292
8548/* 16221*/ OPC_RecordChild0, // #1 = $addr
8549/* 16222*/ OPC_RecordChild1, // #2 = $off
8550/* 16223*/ OPC_MoveChild1,
8551/* 16224*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8552/* 16227*/ OPC_MoveParent,
8553/* 16228*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
8554/* 16230*/ OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->16261
8555/* 16233*/ OPC_MoveParent,
8556/* 16234*/ OPC_MoveChild2,
8557/* 16235*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8558/* 16238*/ OPC_RecordChild0, // #3 = $val
8559/* 16239*/ OPC_MoveParent,
8560/* 16240*/ OPC_CheckPredicate, 6, // Predicate_atomic_swap_32
8561/* 16242*/ OPC_MoveParent,
8562/* 16243*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8563/* 16245*/ OPC_EmitMergeInputChains1_0,
8564/* 16246*/ OPC_EmitInteger, MVT::i32, 0,
8565/* 16249*/ OPC_EmitConvertToTarget, 2,
8566/* 16251*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8567 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
8568 // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 17
8569 // Dst: (ATOMIC_RMW32_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
8570/* 16261*/ /*SwitchType*/ 28, MVT::i64,// ->16291
8571/* 16263*/ OPC_MoveParent,
8572/* 16264*/ OPC_MoveChild2,
8573/* 16265*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8574/* 16268*/ OPC_RecordChild0, // #3 = $val
8575/* 16269*/ OPC_MoveParent,
8576/* 16270*/ OPC_CheckPredicate, 6, // Predicate_atomic_swap_32
8577/* 16272*/ OPC_MoveParent,
8578/* 16273*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8579/* 16275*/ OPC_EmitMergeInputChains1_0,
8580/* 16276*/ OPC_EmitInteger, MVT::i32, 0,
8581/* 16279*/ OPC_EmitConvertToTarget, 2,
8582/* 16281*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8583 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
8584 // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 17
8585 // Dst: (ATOMIC_RMW32_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
8586/* 16291*/ 0, // EndSwitchType
8587/* 16292*/ /*SwitchOpcode*/ 71, TARGET_VAL(ISD::OR),// ->16366
8588/* 16295*/ OPC_RecordChild0, // #1 = $addr
8589/* 16296*/ OPC_RecordChild1, // #2 = $off
8590/* 16297*/ OPC_MoveChild1,
8591/* 16298*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8592/* 16301*/ OPC_MoveParent,
8593/* 16302*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
8594/* 16304*/ OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->16335
8595/* 16307*/ OPC_MoveParent,
8596/* 16308*/ OPC_MoveChild2,
8597/* 16309*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8598/* 16312*/ OPC_RecordChild0, // #3 = $val
8599/* 16313*/ OPC_MoveParent,
8600/* 16314*/ OPC_CheckPredicate, 6, // Predicate_atomic_swap_32
8601/* 16316*/ OPC_MoveParent,
8602/* 16317*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8603/* 16319*/ OPC_EmitMergeInputChains1_0,
8604/* 16320*/ OPC_EmitInteger, MVT::i32, 0,
8605/* 16323*/ OPC_EmitConvertToTarget, 2,
8606/* 16325*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8607 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
8608 // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 17
8609 // Dst: (ATOMIC_RMW32_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
8610/* 16335*/ /*SwitchType*/ 28, MVT::i64,// ->16365
8611/* 16337*/ OPC_MoveParent,
8612/* 16338*/ OPC_MoveChild2,
8613/* 16339*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8614/* 16342*/ OPC_RecordChild0, // #3 = $val
8615/* 16343*/ OPC_MoveParent,
8616/* 16344*/ OPC_CheckPredicate, 6, // Predicate_atomic_swap_32
8617/* 16346*/ OPC_MoveParent,
8618/* 16347*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8619/* 16349*/ OPC_EmitMergeInputChains1_0,
8620/* 16350*/ OPC_EmitInteger, MVT::i32, 0,
8621/* 16353*/ OPC_EmitConvertToTarget, 2,
8622/* 16355*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8623 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
8624 // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 17
8625 // Dst: (ATOMIC_RMW32_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
8626/* 16365*/ 0, // EndSwitchType
8627/* 16366*/ /*SwitchOpcode*/ 72, TARGET_VAL(WebAssemblyISD::Wrapper),// ->16441
8628/* 16369*/ OPC_RecordChild0, // #1 = $off
8629/* 16370*/ OPC_MoveChild0,
8630/* 16371*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
8631/* 16374*/ OPC_MoveParent,
8632/* 16375*/ OPC_MoveParent,
8633/* 16376*/ OPC_MoveChild2,
8634/* 16377*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8635/* 16380*/ OPC_RecordChild0, // #2 = $val
8636/* 16381*/ OPC_MoveParent,
8637/* 16382*/ OPC_CheckPredicate, 6, // Predicate_atomic_swap_32
8638/* 16384*/ OPC_MoveParent,
8639/* 16385*/ OPC_Scope, 26, /*->16413*/ // 2 children in Scope
8640/* 16387*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
8641/* 16389*/ OPC_EmitMergeInputChains1_0,
8642/* 16390*/ OPC_EmitInteger, MVT::i32, 0,
8643/* 16393*/ OPC_EmitInteger, MVT::i32, 0,
8644/* 16396*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8645 MVT::i32, 1/*#Ops*/, 4, // Results = #5
8646/* 16403*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8647 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
8648 // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 16
8649 // Dst: (ATOMIC_RMW32_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
8650/* 16413*/ /*Scope*/ 26, /*->16440*/
8651/* 16414*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
8652/* 16416*/ OPC_EmitMergeInputChains1_0,
8653/* 16417*/ OPC_EmitInteger, MVT::i32, 0,
8654/* 16420*/ OPC_EmitInteger, MVT::i64, 0,
8655/* 16423*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
8656 MVT::i64, 1/*#Ops*/, 4, // Results = #5
8657/* 16430*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8658 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
8659 // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 16
8660 // Dst: (ATOMIC_RMW32_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
8661/* 16440*/ 0, /*End of Scope*/
8662/* 16441*/ 0, // EndSwitchOpcode
8663/* 16442*/ /*Scope*/ 12|128,1/*140*/, /*->16584*/
8664/* 16444*/ OPC_RecordChild1, // #1 = $off
8665/* 16445*/ OPC_Scope, 74, /*->16521*/ // 3 children in Scope
8666/* 16447*/ OPC_MoveChild1,
8667/* 16448*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8668/* 16451*/ OPC_MoveParent,
8669/* 16452*/ OPC_MoveChild2,
8670/* 16453*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8671/* 16456*/ OPC_RecordChild0, // #2 = $val
8672/* 16457*/ OPC_MoveParent,
8673/* 16458*/ OPC_CheckPredicate, 6, // Predicate_atomic_swap_32
8674/* 16460*/ OPC_MoveParent,
8675/* 16461*/ OPC_Scope, 28, /*->16491*/ // 2 children in Scope
8676/* 16463*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8677/* 16465*/ OPC_EmitMergeInputChains1_0,
8678/* 16466*/ OPC_EmitInteger, MVT::i32, 0,
8679/* 16469*/ OPC_EmitConvertToTarget, 1,
8680/* 16471*/ OPC_EmitInteger, MVT::i32, 0,
8681/* 16474*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8682 MVT::i32, 1/*#Ops*/, 5, // Results = #6
8683/* 16481*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8684 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
8685 // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 13
8686 // Dst: (ATOMIC_RMW32_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
8687/* 16491*/ /*Scope*/ 28, /*->16520*/
8688/* 16492*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8689/* 16494*/ OPC_EmitMergeInputChains1_0,
8690/* 16495*/ OPC_EmitInteger, MVT::i32, 0,
8691/* 16498*/ OPC_EmitConvertToTarget, 1,
8692/* 16500*/ OPC_EmitInteger, MVT::i64, 0,
8693/* 16503*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
8694 MVT::i64, 1/*#Ops*/, 5, // Results = #6
8695/* 16510*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8696 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
8697 // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 13
8698 // Dst: (ATOMIC_RMW32_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
8699/* 16520*/ 0, /*End of Scope*/
8700/* 16521*/ /*Scope*/ 30, /*->16552*/
8701/* 16522*/ OPC_CheckChild1Type, MVT::i32,
8702/* 16524*/ OPC_MoveChild2,
8703/* 16525*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8704/* 16528*/ OPC_RecordChild0, // #2 = $val
8705/* 16529*/ OPC_MoveParent,
8706/* 16530*/ OPC_CheckPredicate, 6, // Predicate_atomic_swap_32
8707/* 16532*/ OPC_MoveParent,
8708/* 16533*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8709/* 16535*/ OPC_EmitMergeInputChains1_0,
8710/* 16536*/ OPC_EmitInteger, MVT::i32, 0,
8711/* 16539*/ OPC_EmitInteger, MVT::i32, 0,
8712/* 16542*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8713 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
8714 // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 10
8715 // Dst: (ATOMIC_RMW32_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
8716/* 16552*/ /*Scope*/ 30, /*->16583*/
8717/* 16553*/ OPC_CheckChild1Type, MVT::i64,
8718/* 16555*/ OPC_MoveChild2,
8719/* 16556*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8720/* 16559*/ OPC_RecordChild0, // #2 = $val
8721/* 16560*/ OPC_MoveParent,
8722/* 16561*/ OPC_CheckPredicate, 6, // Predicate_atomic_swap_32
8723/* 16563*/ OPC_MoveParent,
8724/* 16564*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8725/* 16566*/ OPC_EmitMergeInputChains1_0,
8726/* 16567*/ OPC_EmitInteger, MVT::i32, 0,
8727/* 16570*/ OPC_EmitInteger, MVT::i64, 0,
8728/* 16573*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8729 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
8730 // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 10
8731 // Dst: (ATOMIC_RMW32_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
8732/* 16583*/ 0, /*End of Scope*/
8733/* 16584*/ 0, /*End of Scope*/
8734/* 16585*/ /*SwitchOpcode*/ 43|128,2/*299*/, TARGET_VAL(ISD::ATOMIC_LOAD),// ->16888
8735/* 16589*/ OPC_RecordMemRef,
8736/* 16590*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
8737/* 16591*/ OPC_Scope, 52|128,1/*180*/, /*->16774*/ // 2 children in Scope
8738/* 16594*/ OPC_MoveChild1,
8739/* 16595*/ OPC_SwitchOpcode /*3 cases */, 53, TARGET_VAL(ISD::ADD),// ->16652
8740/* 16599*/ OPC_RecordChild0, // #1 = $addr
8741/* 16600*/ OPC_RecordChild1, // #2 = $off
8742/* 16601*/ OPC_MoveChild1,
8743/* 16602*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8744/* 16605*/ OPC_MoveParent,
8745/* 16606*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
8746/* 16608*/ OPC_SwitchType /*2 cases */, 19, MVT::i32,// ->16630
8747/* 16611*/ OPC_MoveParent,
8748/* 16612*/ OPC_MoveParent,
8749/* 16613*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
8750/* 16615*/ OPC_EmitMergeInputChains1_0,
8751/* 16616*/ OPC_EmitInteger, MVT::i32, 0,
8752/* 16619*/ OPC_EmitConvertToTarget, 2,
8753/* 16621*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8754 MVT::i64, 3/*#Ops*/, 3, 4, 1,
8755 // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)) - Complexity = 13
8756 // Dst: (ATOMIC_LOAD32_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
8757/* 16630*/ /*SwitchType*/ 19, MVT::i64,// ->16651
8758/* 16632*/ OPC_MoveParent,
8759/* 16633*/ OPC_MoveParent,
8760/* 16634*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
8761/* 16636*/ OPC_EmitMergeInputChains1_0,
8762/* 16637*/ OPC_EmitInteger, MVT::i32, 0,
8763/* 16640*/ OPC_EmitConvertToTarget, 2,
8764/* 16642*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8765 MVT::i64, 3/*#Ops*/, 3, 4, 1,
8766 // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)) - Complexity = 13
8767 // Dst: (ATOMIC_LOAD32_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
8768/* 16651*/ 0, // EndSwitchType
8769/* 16652*/ /*SwitchOpcode*/ 53, TARGET_VAL(ISD::OR),// ->16708
8770/* 16655*/ OPC_RecordChild0, // #1 = $addr
8771/* 16656*/ OPC_RecordChild1, // #2 = $off
8772/* 16657*/ OPC_MoveChild1,
8773/* 16658*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8774/* 16661*/ OPC_MoveParent,
8775/* 16662*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
8776/* 16664*/ OPC_SwitchType /*2 cases */, 19, MVT::i32,// ->16686
8777/* 16667*/ OPC_MoveParent,
8778/* 16668*/ OPC_MoveParent,
8779/* 16669*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
8780/* 16671*/ OPC_EmitMergeInputChains1_0,
8781/* 16672*/ OPC_EmitInteger, MVT::i32, 0,
8782/* 16675*/ OPC_EmitConvertToTarget, 2,
8783/* 16677*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8784 MVT::i64, 3/*#Ops*/, 3, 4, 1,
8785 // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)) - Complexity = 13
8786 // Dst: (ATOMIC_LOAD32_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
8787/* 16686*/ /*SwitchType*/ 19, MVT::i64,// ->16707
8788/* 16688*/ OPC_MoveParent,
8789/* 16689*/ OPC_MoveParent,
8790/* 16690*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
8791/* 16692*/ OPC_EmitMergeInputChains1_0,
8792/* 16693*/ OPC_EmitInteger, MVT::i32, 0,
8793/* 16696*/ OPC_EmitConvertToTarget, 2,
8794/* 16698*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8795 MVT::i64, 3/*#Ops*/, 3, 4, 1,
8796 // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)) - Complexity = 13
8797 // Dst: (ATOMIC_LOAD32_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
8798/* 16707*/ 0, // EndSwitchType
8799/* 16708*/ /*SwitchOpcode*/ 62, TARGET_VAL(WebAssemblyISD::Wrapper),// ->16773
8800/* 16711*/ OPC_RecordChild0, // #1 = $off
8801/* 16712*/ OPC_MoveChild0,
8802/* 16713*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
8803/* 16716*/ OPC_MoveParent,
8804/* 16717*/ OPC_MoveParent,
8805/* 16718*/ OPC_MoveParent,
8806/* 16719*/ OPC_Scope, 25, /*->16746*/ // 2 children in Scope
8807/* 16721*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
8808/* 16723*/ OPC_EmitMergeInputChains1_0,
8809/* 16724*/ OPC_EmitInteger, MVT::i32, 0,
8810/* 16727*/ OPC_EmitInteger, MVT::i32, 0,
8811/* 16730*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8812 MVT::i32, 1/*#Ops*/, 3, // Results = #4
8813/* 16737*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8814 MVT::i64, 3/*#Ops*/, 2, 1, 4,
8815 // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))) - Complexity = 12
8816 // Dst: (ATOMIC_LOAD32_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
8817/* 16746*/ /*Scope*/ 25, /*->16772*/
8818/* 16747*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
8819/* 16749*/ OPC_EmitMergeInputChains1_0,
8820/* 16750*/ OPC_EmitInteger, MVT::i32, 0,
8821/* 16753*/ OPC_EmitInteger, MVT::i64, 0,
8822/* 16756*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
8823 MVT::i64, 1/*#Ops*/, 3, // Results = #4
8824/* 16763*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8825 MVT::i64, 3/*#Ops*/, 2, 1, 4,
8826 // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))) - Complexity = 12
8827 // Dst: (ATOMIC_LOAD32_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
8828/* 16772*/ 0, /*End of Scope*/
8829/* 16773*/ 0, // EndSwitchOpcode
8830/* 16774*/ /*Scope*/ 112, /*->16887*/
8831/* 16775*/ OPC_RecordChild1, // #1 = $off
8832/* 16776*/ OPC_Scope, 64, /*->16842*/ // 3 children in Scope
8833/* 16778*/ OPC_MoveChild1,
8834/* 16779*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8835/* 16782*/ OPC_MoveParent,
8836/* 16783*/ OPC_MoveParent,
8837/* 16784*/ OPC_Scope, 27, /*->16813*/ // 2 children in Scope
8838/* 16786*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
8839/* 16788*/ OPC_EmitMergeInputChains1_0,
8840/* 16789*/ OPC_EmitInteger, MVT::i32, 0,
8841/* 16792*/ OPC_EmitConvertToTarget, 1,
8842/* 16794*/ OPC_EmitInteger, MVT::i32, 0,
8843/* 16797*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8844 MVT::i32, 1/*#Ops*/, 4, // Results = #5
8845/* 16804*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8846 MVT::i64, 3/*#Ops*/, 2, 3, 5,
8847 // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)) - Complexity = 9
8848 // Dst: (ATOMIC_LOAD32_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
8849/* 16813*/ /*Scope*/ 27, /*->16841*/
8850/* 16814*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
8851/* 16816*/ OPC_EmitMergeInputChains1_0,
8852/* 16817*/ OPC_EmitInteger, MVT::i32, 0,
8853/* 16820*/ OPC_EmitConvertToTarget, 1,
8854/* 16822*/ OPC_EmitInteger, MVT::i64, 0,
8855/* 16825*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
8856 MVT::i64, 1/*#Ops*/, 4, // Results = #5
8857/* 16832*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8858 MVT::i64, 3/*#Ops*/, 2, 3, 5,
8859 // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)) - Complexity = 9
8860 // Dst: (ATOMIC_LOAD32_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
8861/* 16841*/ 0, /*End of Scope*/
8862/* 16842*/ /*Scope*/ 21, /*->16864*/
8863/* 16843*/ OPC_CheckChild1Type, MVT::i32,
8864/* 16845*/ OPC_MoveParent,
8865/* 16846*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
8866/* 16848*/ OPC_EmitMergeInputChains1_0,
8867/* 16849*/ OPC_EmitInteger, MVT::i32, 0,
8868/* 16852*/ OPC_EmitInteger, MVT::i32, 0,
8869/* 16855*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8870 MVT::i64, 3/*#Ops*/, 2, 3, 1,
8871 // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)) - Complexity = 6
8872 // Dst: (ATOMIC_LOAD32_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
8873/* 16864*/ /*Scope*/ 21, /*->16886*/
8874/* 16865*/ OPC_CheckChild1Type, MVT::i64,
8875/* 16867*/ OPC_MoveParent,
8876/* 16868*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
8877/* 16870*/ OPC_EmitMergeInputChains1_0,
8878/* 16871*/ OPC_EmitInteger, MVT::i32, 0,
8879/* 16874*/ OPC_EmitInteger, MVT::i64, 0,
8880/* 16877*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8881 MVT::i64, 3/*#Ops*/, 2, 3, 1,
8882 // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } I64:{ *:[i64] }:$addr)) - Complexity = 6
8883 // Dst: (ATOMIC_LOAD32_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
8884/* 16886*/ 0, /*End of Scope*/
8885/* 16887*/ 0, /*End of Scope*/
8886/* 16888*/ 0, // EndSwitchOpcode
8887/* 16889*/ /*Scope*/ 8, /*->16898*/
8888/* 16890*/ OPC_RecordChild0, // #0 = $src
8889/* 16891*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND_U_I32), 0,
8890 MVT::i64, 1/*#Ops*/, 0,
8891 // Src: (zext:{ *:[i64] } I32:{ *:[i32] }:$src) - Complexity = 3
8892 // Dst: (I64_EXTEND_U_I32:{ *:[i64] } I32:{ *:[i32] }:$src)
8893/* 16898*/ 0, /*End of Scope*/
8894/* 16899*/ /*SwitchOpcode*/ 66|128,41/*5314*/, TARGET_VAL(ISD::ANY_EXTEND),// ->22217
8895/* 16903*/ OPC_Scope, 53|128,41/*5301*/, /*->22207*/ // 2 children in Scope
8896/* 16906*/ OPC_MoveChild0,
8897/* 16907*/ OPC_SwitchOpcode /*8 cases */, 89|128,5/*729*/, TARGET_VAL(ISD::AssertZext),// ->17641
8898/* 16912*/ OPC_MoveChild0,
8899/* 16913*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
8900/* 16916*/ OPC_RecordMemRef,
8901/* 16917*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
8902/* 16918*/ OPC_CheckFoldableChainNode,
8903/* 16919*/ OPC_Scope, 60|128,3/*444*/, /*->17366*/ // 2 children in Scope
8904/* 16922*/ OPC_MoveChild1,
8905/* 16923*/ OPC_SwitchOpcode /*3 cases */, 13|128,1/*141*/, TARGET_VAL(ISD::ADD),// ->17069
8906/* 16928*/ OPC_RecordChild0, // #1 = $addr
8907/* 16929*/ OPC_RecordChild1, // #2 = $off
8908/* 16930*/ OPC_MoveChild1,
8909/* 16931*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8910/* 16934*/ OPC_MoveParent,
8911/* 16935*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
8912/* 16937*/ OPC_SwitchType /*2 cases */, 63, MVT::i32,// ->17003
8913/* 16940*/ OPC_MoveParent,
8914/* 16941*/ OPC_MoveChild2,
8915/* 16942*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8916/* 16945*/ OPC_RecordChild0, // #3 = $exp
8917/* 16946*/ OPC_MoveParent,
8918/* 16947*/ OPC_MoveChild3,
8919/* 16948*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8920/* 16951*/ OPC_RecordChild0, // #4 = $new
8921/* 16952*/ OPC_MoveParent,
8922/* 16953*/ OPC_Scope, 23, /*->16978*/ // 2 children in Scope
8923/* 16955*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
8924/* 16957*/ OPC_MoveParent,
8925/* 16958*/ OPC_MoveParent,
8926/* 16959*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8927/* 16961*/ OPC_EmitMergeInputChains1_0,
8928/* 16962*/ OPC_EmitInteger, MVT::i32, 0,
8929/* 16965*/ OPC_EmitConvertToTarget, 2,
8930/* 16967*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8931 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
8932 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 23
8933 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
8934/* 16978*/ /*Scope*/ 23, /*->17002*/
8935/* 16979*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
8936/* 16981*/ OPC_MoveParent,
8937/* 16982*/ OPC_MoveParent,
8938/* 16983*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8939/* 16985*/ OPC_EmitMergeInputChains1_0,
8940/* 16986*/ OPC_EmitInteger, MVT::i32, 0,
8941/* 16989*/ OPC_EmitConvertToTarget, 2,
8942/* 16991*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
8943 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
8944 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 23
8945 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
8946/* 17002*/ 0, /*End of Scope*/
8947/* 17003*/ /*SwitchType*/ 63, MVT::i64,// ->17068
8948/* 17005*/ OPC_MoveParent,
8949/* 17006*/ OPC_MoveChild2,
8950/* 17007*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8951/* 17010*/ OPC_RecordChild0, // #3 = $exp
8952/* 17011*/ OPC_MoveParent,
8953/* 17012*/ OPC_MoveChild3,
8954/* 17013*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8955/* 17016*/ OPC_RecordChild0, // #4 = $new
8956/* 17017*/ OPC_MoveParent,
8957/* 17018*/ OPC_Scope, 23, /*->17043*/ // 2 children in Scope
8958/* 17020*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
8959/* 17022*/ OPC_MoveParent,
8960/* 17023*/ OPC_MoveParent,
8961/* 17024*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8962/* 17026*/ OPC_EmitMergeInputChains1_0,
8963/* 17027*/ OPC_EmitInteger, MVT::i32, 0,
8964/* 17030*/ OPC_EmitConvertToTarget, 2,
8965/* 17032*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8966 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
8967 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 23
8968 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
8969/* 17043*/ /*Scope*/ 23, /*->17067*/
8970/* 17044*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
8971/* 17046*/ OPC_MoveParent,
8972/* 17047*/ OPC_MoveParent,
8973/* 17048*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
8974/* 17050*/ OPC_EmitMergeInputChains1_0,
8975/* 17051*/ OPC_EmitInteger, MVT::i32, 0,
8976/* 17054*/ OPC_EmitConvertToTarget, 2,
8977/* 17056*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
8978 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
8979 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 23
8980 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
8981/* 17067*/ 0, /*End of Scope*/
8982/* 17068*/ 0, // EndSwitchType
8983/* 17069*/ /*SwitchOpcode*/ 13|128,1/*141*/, TARGET_VAL(ISD::OR),// ->17214
8984/* 17073*/ OPC_RecordChild0, // #1 = $addr
8985/* 17074*/ OPC_RecordChild1, // #2 = $off
8986/* 17075*/ OPC_MoveChild1,
8987/* 17076*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8988/* 17079*/ OPC_MoveParent,
8989/* 17080*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
8990/* 17082*/ OPC_SwitchType /*2 cases */, 63, MVT::i32,// ->17148
8991/* 17085*/ OPC_MoveParent,
8992/* 17086*/ OPC_MoveChild2,
8993/* 17087*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8994/* 17090*/ OPC_RecordChild0, // #3 = $exp
8995/* 17091*/ OPC_MoveParent,
8996/* 17092*/ OPC_MoveChild3,
8997/* 17093*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
8998/* 17096*/ OPC_RecordChild0, // #4 = $new
8999/* 17097*/ OPC_MoveParent,
9000/* 17098*/ OPC_Scope, 23, /*->17123*/ // 2 children in Scope
9001/* 17100*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9002/* 17102*/ OPC_MoveParent,
9003/* 17103*/ OPC_MoveParent,
9004/* 17104*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9005/* 17106*/ OPC_EmitMergeInputChains1_0,
9006/* 17107*/ OPC_EmitInteger, MVT::i32, 0,
9007/* 17110*/ OPC_EmitConvertToTarget, 2,
9008/* 17112*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9009 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
9010 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 23
9011 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9012/* 17123*/ /*Scope*/ 23, /*->17147*/
9013/* 17124*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9014/* 17126*/ OPC_MoveParent,
9015/* 17127*/ OPC_MoveParent,
9016/* 17128*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9017/* 17130*/ OPC_EmitMergeInputChains1_0,
9018/* 17131*/ OPC_EmitInteger, MVT::i32, 0,
9019/* 17134*/ OPC_EmitConvertToTarget, 2,
9020/* 17136*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9021 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
9022 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 23
9023 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9024/* 17147*/ 0, /*End of Scope*/
9025/* 17148*/ /*SwitchType*/ 63, MVT::i64,// ->17213
9026/* 17150*/ OPC_MoveParent,
9027/* 17151*/ OPC_MoveChild2,
9028/* 17152*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9029/* 17155*/ OPC_RecordChild0, // #3 = $exp
9030/* 17156*/ OPC_MoveParent,
9031/* 17157*/ OPC_MoveChild3,
9032/* 17158*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9033/* 17161*/ OPC_RecordChild0, // #4 = $new
9034/* 17162*/ OPC_MoveParent,
9035/* 17163*/ OPC_Scope, 23, /*->17188*/ // 2 children in Scope
9036/* 17165*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9037/* 17167*/ OPC_MoveParent,
9038/* 17168*/ OPC_MoveParent,
9039/* 17169*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9040/* 17171*/ OPC_EmitMergeInputChains1_0,
9041/* 17172*/ OPC_EmitInteger, MVT::i32, 0,
9042/* 17175*/ OPC_EmitConvertToTarget, 2,
9043/* 17177*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9044 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
9045 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 23
9046 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9047/* 17188*/ /*Scope*/ 23, /*->17212*/
9048/* 17189*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9049/* 17191*/ OPC_MoveParent,
9050/* 17192*/ OPC_MoveParent,
9051/* 17193*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9052/* 17195*/ OPC_EmitMergeInputChains1_0,
9053/* 17196*/ OPC_EmitInteger, MVT::i32, 0,
9054/* 17199*/ OPC_EmitConvertToTarget, 2,
9055/* 17201*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9056 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
9057 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 23
9058 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9059/* 17212*/ 0, /*End of Scope*/
9060/* 17213*/ 0, // EndSwitchType
9061/* 17214*/ /*SwitchOpcode*/ 19|128,1/*147*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->17365
9062/* 17218*/ OPC_RecordChild0, // #1 = $off
9063/* 17219*/ OPC_MoveChild0,
9064/* 17220*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
9065/* 17223*/ OPC_MoveParent,
9066/* 17224*/ OPC_MoveParent,
9067/* 17225*/ OPC_MoveChild2,
9068/* 17226*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9069/* 17229*/ OPC_RecordChild0, // #2 = $exp
9070/* 17230*/ OPC_MoveParent,
9071/* 17231*/ OPC_MoveChild3,
9072/* 17232*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9073/* 17235*/ OPC_RecordChild0, // #3 = $new
9074/* 17236*/ OPC_MoveParent,
9075/* 17237*/ OPC_Scope, 62, /*->17301*/ // 2 children in Scope
9076/* 17239*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9077/* 17241*/ OPC_MoveParent,
9078/* 17242*/ OPC_MoveParent,
9079/* 17243*/ OPC_Scope, 27, /*->17272*/ // 2 children in Scope
9080/* 17245*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
9081/* 17247*/ OPC_EmitMergeInputChains1_0,
9082/* 17248*/ OPC_EmitInteger, MVT::i32, 0,
9083/* 17251*/ OPC_EmitInteger, MVT::i32, 0,
9084/* 17254*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9085 MVT::i32, 1/*#Ops*/, 5, // Results = #6
9086/* 17261*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9087 MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
9088 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 22
9089 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9090/* 17272*/ /*Scope*/ 27, /*->17300*/
9091/* 17273*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
9092/* 17275*/ OPC_EmitMergeInputChains1_0,
9093/* 17276*/ OPC_EmitInteger, MVT::i32, 0,
9094/* 17279*/ OPC_EmitInteger, MVT::i64, 0,
9095/* 17282*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
9096 MVT::i64, 1/*#Ops*/, 5, // Results = #6
9097/* 17289*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9098 MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
9099 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 22
9100 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9101/* 17300*/ 0, /*End of Scope*/
9102/* 17301*/ /*Scope*/ 62, /*->17364*/
9103/* 17302*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9104/* 17304*/ OPC_MoveParent,
9105/* 17305*/ OPC_MoveParent,
9106/* 17306*/ OPC_Scope, 27, /*->17335*/ // 2 children in Scope
9107/* 17308*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
9108/* 17310*/ OPC_EmitMergeInputChains1_0,
9109/* 17311*/ OPC_EmitInteger, MVT::i32, 0,
9110/* 17314*/ OPC_EmitInteger, MVT::i32, 0,
9111/* 17317*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9112 MVT::i32, 1/*#Ops*/, 5, // Results = #6
9113/* 17324*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9114 MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
9115 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 22
9116 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9117/* 17335*/ /*Scope*/ 27, /*->17363*/
9118/* 17336*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
9119/* 17338*/ OPC_EmitMergeInputChains1_0,
9120/* 17339*/ OPC_EmitInteger, MVT::i32, 0,
9121/* 17342*/ OPC_EmitInteger, MVT::i64, 0,
9122/* 17345*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
9123 MVT::i64, 1/*#Ops*/, 5, // Results = #6
9124/* 17352*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9125 MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
9126 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 22
9127 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9128/* 17363*/ 0, /*End of Scope*/
9129/* 17364*/ 0, /*End of Scope*/
9130/* 17365*/ 0, // EndSwitchOpcode
9131/* 17366*/ /*Scope*/ 16|128,2/*272*/, /*->17640*/
9132/* 17368*/ OPC_RecordChild1, // #1 = $off
9133/* 17369*/ OPC_Scope, 5|128,1/*133*/, /*->17505*/ // 3 children in Scope
9134/* 17372*/ OPC_MoveChild1,
9135/* 17373*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9136/* 17376*/ OPC_MoveParent,
9137/* 17377*/ OPC_MoveChild2,
9138/* 17378*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9139/* 17381*/ OPC_RecordChild0, // #2 = $exp
9140/* 17382*/ OPC_MoveParent,
9141/* 17383*/ OPC_MoveChild3,
9142/* 17384*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9143/* 17387*/ OPC_RecordChild0, // #3 = $new
9144/* 17388*/ OPC_MoveParent,
9145/* 17389*/ OPC_Scope, 56, /*->17447*/ // 2 children in Scope
9146/* 17391*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9147/* 17393*/ OPC_MoveParent,
9148/* 17394*/ OPC_MoveParent,
9149/* 17395*/ OPC_EmitMergeInputChains1_0,
9150/* 17396*/ OPC_EmitInteger, MVT::i32, 0,
9151/* 17399*/ OPC_EmitConvertToTarget, 1,
9152/* 17401*/ OPC_Scope, 21, /*->17424*/ // 2 children in Scope
9153/* 17403*/ OPC_EmitInteger, MVT::i32, 0,
9154/* 17406*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9155 MVT::i32, 1/*#Ops*/, 6, // Results = #7
9156/* 17413*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9157 MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
9158 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 19
9159 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9160/* 17424*/ /*Scope*/ 21, /*->17446*/
9161/* 17425*/ OPC_EmitInteger, MVT::i64, 0,
9162/* 17428*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
9163 MVT::i64, 1/*#Ops*/, 6, // Results = #7
9164/* 17435*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9165 MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
9166 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 19
9167 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9168/* 17446*/ 0, /*End of Scope*/
9169/* 17447*/ /*Scope*/ 56, /*->17504*/
9170/* 17448*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9171/* 17450*/ OPC_MoveParent,
9172/* 17451*/ OPC_MoveParent,
9173/* 17452*/ OPC_EmitMergeInputChains1_0,
9174/* 17453*/ OPC_EmitInteger, MVT::i32, 0,
9175/* 17456*/ OPC_EmitConvertToTarget, 1,
9176/* 17458*/ OPC_Scope, 21, /*->17481*/ // 2 children in Scope
9177/* 17460*/ OPC_EmitInteger, MVT::i32, 0,
9178/* 17463*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9179 MVT::i32, 1/*#Ops*/, 6, // Results = #7
9180/* 17470*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9181 MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
9182 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 19
9183 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9184/* 17481*/ /*Scope*/ 21, /*->17503*/
9185/* 17482*/ OPC_EmitInteger, MVT::i64, 0,
9186/* 17485*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
9187 MVT::i64, 1/*#Ops*/, 6, // Results = #7
9188/* 17492*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9189 MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
9190 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 19
9191 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9192/* 17503*/ 0, /*End of Scope*/
9193/* 17504*/ 0, /*End of Scope*/
9194/* 17505*/ /*Scope*/ 66, /*->17572*/
9195/* 17506*/ OPC_CheckChild1Type, MVT::i32,
9196/* 17508*/ OPC_MoveChild2,
9197/* 17509*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9198/* 17512*/ OPC_RecordChild0, // #2 = $exp
9199/* 17513*/ OPC_MoveParent,
9200/* 17514*/ OPC_MoveChild3,
9201/* 17515*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9202/* 17518*/ OPC_RecordChild0, // #3 = $new
9203/* 17519*/ OPC_MoveParent,
9204/* 17520*/ OPC_Scope, 24, /*->17546*/ // 2 children in Scope
9205/* 17522*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9206/* 17524*/ OPC_MoveParent,
9207/* 17525*/ OPC_MoveParent,
9208/* 17526*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9209/* 17528*/ OPC_EmitMergeInputChains1_0,
9210/* 17529*/ OPC_EmitInteger, MVT::i32, 0,
9211/* 17532*/ OPC_EmitInteger, MVT::i32, 0,
9212/* 17535*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9213 MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
9214 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 16
9215 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9216/* 17546*/ /*Scope*/ 24, /*->17571*/
9217/* 17547*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9218/* 17549*/ OPC_MoveParent,
9219/* 17550*/ OPC_MoveParent,
9220/* 17551*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9221/* 17553*/ OPC_EmitMergeInputChains1_0,
9222/* 17554*/ OPC_EmitInteger, MVT::i32, 0,
9223/* 17557*/ OPC_EmitInteger, MVT::i32, 0,
9224/* 17560*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9225 MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
9226 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 16
9227 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9228/* 17571*/ 0, /*End of Scope*/
9229/* 17572*/ /*Scope*/ 66, /*->17639*/
9230/* 17573*/ OPC_CheckChild1Type, MVT::i64,
9231/* 17575*/ OPC_MoveChild2,
9232/* 17576*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9233/* 17579*/ OPC_RecordChild0, // #2 = $exp
9234/* 17580*/ OPC_MoveParent,
9235/* 17581*/ OPC_MoveChild3,
9236/* 17582*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9237/* 17585*/ OPC_RecordChild0, // #3 = $new
9238/* 17586*/ OPC_MoveParent,
9239/* 17587*/ OPC_Scope, 24, /*->17613*/ // 2 children in Scope
9240/* 17589*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9241/* 17591*/ OPC_MoveParent,
9242/* 17592*/ OPC_MoveParent,
9243/* 17593*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9244/* 17595*/ OPC_EmitMergeInputChains1_0,
9245/* 17596*/ OPC_EmitInteger, MVT::i32, 0,
9246/* 17599*/ OPC_EmitInteger, MVT::i64, 0,
9247/* 17602*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9248 MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
9249 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 16
9250 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9251/* 17613*/ /*Scope*/ 24, /*->17638*/
9252/* 17614*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9253/* 17616*/ OPC_MoveParent,
9254/* 17617*/ OPC_MoveParent,
9255/* 17618*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9256/* 17620*/ OPC_EmitMergeInputChains1_0,
9257/* 17621*/ OPC_EmitInteger, MVT::i32, 0,
9258/* 17624*/ OPC_EmitInteger, MVT::i64, 0,
9259/* 17627*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9260 MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
9261 // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 16
9262 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9263/* 17638*/ 0, /*End of Scope*/
9264/* 17639*/ 0, /*End of Scope*/
9265/* 17640*/ 0, /*End of Scope*/
9266/* 17641*/ /*SwitchOpcode*/ 18|128,5/*658*/, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),// ->18303
9267/* 17645*/ OPC_RecordMemRef,
9268/* 17646*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
9269/* 17647*/ OPC_Scope, 6|128,3/*390*/, /*->18040*/ // 2 children in Scope
9270/* 17650*/ OPC_MoveChild1,
9271/* 17651*/ OPC_SwitchOpcode /*3 cases */, 121, TARGET_VAL(ISD::ADD),// ->17776
9272/* 17655*/ OPC_RecordChild0, // #1 = $addr
9273/* 17656*/ OPC_RecordChild1, // #2 = $off
9274/* 17657*/ OPC_MoveChild1,
9275/* 17658*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9276/* 17661*/ OPC_MoveParent,
9277/* 17662*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
9278/* 17664*/ OPC_SwitchType /*2 cases */, 53, MVT::i32,// ->17720
9279/* 17667*/ OPC_MoveParent,
9280/* 17668*/ OPC_MoveChild2,
9281/* 17669*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9282/* 17672*/ OPC_RecordChild0, // #3 = $val
9283/* 17673*/ OPC_MoveParent,
9284/* 17674*/ OPC_Scope, 21, /*->17697*/ // 2 children in Scope
9285/* 17676*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
9286/* 17678*/ OPC_MoveParent,
9287/* 17679*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9288/* 17681*/ OPC_EmitMergeInputChains1_0,
9289/* 17682*/ OPC_EmitInteger, MVT::i32, 0,
9290/* 17685*/ OPC_EmitConvertToTarget, 2,
9291/* 17687*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9292 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9293 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 17
9294 // Dst: (ATOMIC_RMW8_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
9295/* 17697*/ /*Scope*/ 21, /*->17719*/
9296/* 17698*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
9297/* 17700*/ OPC_MoveParent,
9298/* 17701*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9299/* 17703*/ OPC_EmitMergeInputChains1_0,
9300/* 17704*/ OPC_EmitInteger, MVT::i32, 0,
9301/* 17707*/ OPC_EmitConvertToTarget, 2,
9302/* 17709*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9303 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9304 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 17
9305 // Dst: (ATOMIC_RMW16_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
9306/* 17719*/ 0, /*End of Scope*/
9307/* 17720*/ /*SwitchType*/ 53, MVT::i64,// ->17775
9308/* 17722*/ OPC_MoveParent,
9309/* 17723*/ OPC_MoveChild2,
9310/* 17724*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9311/* 17727*/ OPC_RecordChild0, // #3 = $val
9312/* 17728*/ OPC_MoveParent,
9313/* 17729*/ OPC_Scope, 21, /*->17752*/ // 2 children in Scope
9314/* 17731*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
9315/* 17733*/ OPC_MoveParent,
9316/* 17734*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9317/* 17736*/ OPC_EmitMergeInputChains1_0,
9318/* 17737*/ OPC_EmitInteger, MVT::i32, 0,
9319/* 17740*/ OPC_EmitConvertToTarget, 2,
9320/* 17742*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9321 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9322 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 17
9323 // Dst: (ATOMIC_RMW8_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
9324/* 17752*/ /*Scope*/ 21, /*->17774*/
9325/* 17753*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
9326/* 17755*/ OPC_MoveParent,
9327/* 17756*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9328/* 17758*/ OPC_EmitMergeInputChains1_0,
9329/* 17759*/ OPC_EmitInteger, MVT::i32, 0,
9330/* 17762*/ OPC_EmitConvertToTarget, 2,
9331/* 17764*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9332 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9333 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 17
9334 // Dst: (ATOMIC_RMW16_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
9335/* 17774*/ 0, /*End of Scope*/
9336/* 17775*/ 0, // EndSwitchType
9337/* 17776*/ /*SwitchOpcode*/ 121, TARGET_VAL(ISD::OR),// ->17900
9338/* 17779*/ OPC_RecordChild0, // #1 = $addr
9339/* 17780*/ OPC_RecordChild1, // #2 = $off
9340/* 17781*/ OPC_MoveChild1,
9341/* 17782*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9342/* 17785*/ OPC_MoveParent,
9343/* 17786*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
9344/* 17788*/ OPC_SwitchType /*2 cases */, 53, MVT::i32,// ->17844
9345/* 17791*/ OPC_MoveParent,
9346/* 17792*/ OPC_MoveChild2,
9347/* 17793*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9348/* 17796*/ OPC_RecordChild0, // #3 = $val
9349/* 17797*/ OPC_MoveParent,
9350/* 17798*/ OPC_Scope, 21, /*->17821*/ // 2 children in Scope
9351/* 17800*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
9352/* 17802*/ OPC_MoveParent,
9353/* 17803*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9354/* 17805*/ OPC_EmitMergeInputChains1_0,
9355/* 17806*/ OPC_EmitInteger, MVT::i32, 0,
9356/* 17809*/ OPC_EmitConvertToTarget, 2,
9357/* 17811*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9358 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9359 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 17
9360 // Dst: (ATOMIC_RMW8_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
9361/* 17821*/ /*Scope*/ 21, /*->17843*/
9362/* 17822*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
9363/* 17824*/ OPC_MoveParent,
9364/* 17825*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9365/* 17827*/ OPC_EmitMergeInputChains1_0,
9366/* 17828*/ OPC_EmitInteger, MVT::i32, 0,
9367/* 17831*/ OPC_EmitConvertToTarget, 2,
9368/* 17833*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9369 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9370 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 17
9371 // Dst: (ATOMIC_RMW16_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
9372/* 17843*/ 0, /*End of Scope*/
9373/* 17844*/ /*SwitchType*/ 53, MVT::i64,// ->17899
9374/* 17846*/ OPC_MoveParent,
9375/* 17847*/ OPC_MoveChild2,
9376/* 17848*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9377/* 17851*/ OPC_RecordChild0, // #3 = $val
9378/* 17852*/ OPC_MoveParent,
9379/* 17853*/ OPC_Scope, 21, /*->17876*/ // 2 children in Scope
9380/* 17855*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
9381/* 17857*/ OPC_MoveParent,
9382/* 17858*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9383/* 17860*/ OPC_EmitMergeInputChains1_0,
9384/* 17861*/ OPC_EmitInteger, MVT::i32, 0,
9385/* 17864*/ OPC_EmitConvertToTarget, 2,
9386/* 17866*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9387 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9388 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 17
9389 // Dst: (ATOMIC_RMW8_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
9390/* 17876*/ /*Scope*/ 21, /*->17898*/
9391/* 17877*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
9392/* 17879*/ OPC_MoveParent,
9393/* 17880*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9394/* 17882*/ OPC_EmitMergeInputChains1_0,
9395/* 17883*/ OPC_EmitInteger, MVT::i32, 0,
9396/* 17886*/ OPC_EmitConvertToTarget, 2,
9397/* 17888*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9398 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9399 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 17
9400 // Dst: (ATOMIC_RMW16_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
9401/* 17898*/ 0, /*End of Scope*/
9402/* 17899*/ 0, // EndSwitchType
9403/* 17900*/ /*SwitchOpcode*/ 7|128,1/*135*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->18039
9404/* 17904*/ OPC_RecordChild0, // #1 = $off
9405/* 17905*/ OPC_MoveChild0,
9406/* 17906*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
9407/* 17909*/ OPC_MoveParent,
9408/* 17910*/ OPC_MoveParent,
9409/* 17911*/ OPC_MoveChild2,
9410/* 17912*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9411/* 17915*/ OPC_RecordChild0, // #2 = $val
9412/* 17916*/ OPC_MoveParent,
9413/* 17917*/ OPC_Scope, 59, /*->17978*/ // 2 children in Scope
9414/* 17919*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
9415/* 17921*/ OPC_MoveParent,
9416/* 17922*/ OPC_Scope, 26, /*->17950*/ // 2 children in Scope
9417/* 17924*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
9418/* 17926*/ OPC_EmitMergeInputChains1_0,
9419/* 17927*/ OPC_EmitInteger, MVT::i32, 0,
9420/* 17930*/ OPC_EmitInteger, MVT::i32, 0,
9421/* 17933*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9422 MVT::i32, 1/*#Ops*/, 4, // Results = #5
9423/* 17940*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9424 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
9425 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 16
9426 // Dst: (ATOMIC_RMW8_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
9427/* 17950*/ /*Scope*/ 26, /*->17977*/
9428/* 17951*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
9429/* 17953*/ OPC_EmitMergeInputChains1_0,
9430/* 17954*/ OPC_EmitInteger, MVT::i32, 0,
9431/* 17957*/ OPC_EmitInteger, MVT::i64, 0,
9432/* 17960*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
9433 MVT::i64, 1/*#Ops*/, 4, // Results = #5
9434/* 17967*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9435 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
9436 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 16
9437 // Dst: (ATOMIC_RMW8_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
9438/* 17977*/ 0, /*End of Scope*/
9439/* 17978*/ /*Scope*/ 59, /*->18038*/
9440/* 17979*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
9441/* 17981*/ OPC_MoveParent,
9442/* 17982*/ OPC_Scope, 26, /*->18010*/ // 2 children in Scope
9443/* 17984*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
9444/* 17986*/ OPC_EmitMergeInputChains1_0,
9445/* 17987*/ OPC_EmitInteger, MVT::i32, 0,
9446/* 17990*/ OPC_EmitInteger, MVT::i32, 0,
9447/* 17993*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9448 MVT::i32, 1/*#Ops*/, 4, // Results = #5
9449/* 18000*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9450 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
9451 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 16
9452 // Dst: (ATOMIC_RMW16_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
9453/* 18010*/ /*Scope*/ 26, /*->18037*/
9454/* 18011*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
9455/* 18013*/ OPC_EmitMergeInputChains1_0,
9456/* 18014*/ OPC_EmitInteger, MVT::i32, 0,
9457/* 18017*/ OPC_EmitInteger, MVT::i64, 0,
9458/* 18020*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
9459 MVT::i64, 1/*#Ops*/, 4, // Results = #5
9460/* 18027*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9461 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
9462 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 16
9463 // Dst: (ATOMIC_RMW16_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
9464/* 18037*/ 0, /*End of Scope*/
9465/* 18038*/ 0, /*End of Scope*/
9466/* 18039*/ 0, // EndSwitchOpcode
9467/* 18040*/ /*Scope*/ 4|128,2/*260*/, /*->18302*/
9468/* 18042*/ OPC_RecordChild1, // #1 = $off
9469/* 18043*/ OPC_Scope, 13|128,1/*141*/, /*->18187*/ // 3 children in Scope
9470/* 18046*/ OPC_MoveChild1,
9471/* 18047*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9472/* 18050*/ OPC_MoveParent,
9473/* 18051*/ OPC_MoveChild2,
9474/* 18052*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9475/* 18055*/ OPC_RecordChild0, // #2 = $val
9476/* 18056*/ OPC_MoveParent,
9477/* 18057*/ OPC_Scope, 63, /*->18122*/ // 2 children in Scope
9478/* 18059*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
9479/* 18061*/ OPC_MoveParent,
9480/* 18062*/ OPC_Scope, 28, /*->18092*/ // 2 children in Scope
9481/* 18064*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9482/* 18066*/ OPC_EmitMergeInputChains1_0,
9483/* 18067*/ OPC_EmitInteger, MVT::i32, 0,
9484/* 18070*/ OPC_EmitConvertToTarget, 1,
9485/* 18072*/ OPC_EmitInteger, MVT::i32, 0,
9486/* 18075*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9487 MVT::i32, 1/*#Ops*/, 5, // Results = #6
9488/* 18082*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9489 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
9490 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 13
9491 // Dst: (ATOMIC_RMW8_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
9492/* 18092*/ /*Scope*/ 28, /*->18121*/
9493/* 18093*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9494/* 18095*/ OPC_EmitMergeInputChains1_0,
9495/* 18096*/ OPC_EmitInteger, MVT::i32, 0,
9496/* 18099*/ OPC_EmitConvertToTarget, 1,
9497/* 18101*/ OPC_EmitInteger, MVT::i64, 0,
9498/* 18104*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
9499 MVT::i64, 1/*#Ops*/, 5, // Results = #6
9500/* 18111*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9501 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
9502 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 13
9503 // Dst: (ATOMIC_RMW8_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
9504/* 18121*/ 0, /*End of Scope*/
9505/* 18122*/ /*Scope*/ 63, /*->18186*/
9506/* 18123*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
9507/* 18125*/ OPC_MoveParent,
9508/* 18126*/ OPC_Scope, 28, /*->18156*/ // 2 children in Scope
9509/* 18128*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9510/* 18130*/ OPC_EmitMergeInputChains1_0,
9511/* 18131*/ OPC_EmitInteger, MVT::i32, 0,
9512/* 18134*/ OPC_EmitConvertToTarget, 1,
9513/* 18136*/ OPC_EmitInteger, MVT::i32, 0,
9514/* 18139*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9515 MVT::i32, 1/*#Ops*/, 5, // Results = #6
9516/* 18146*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9517 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
9518 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 13
9519 // Dst: (ATOMIC_RMW16_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
9520/* 18156*/ /*Scope*/ 28, /*->18185*/
9521/* 18157*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9522/* 18159*/ OPC_EmitMergeInputChains1_0,
9523/* 18160*/ OPC_EmitInteger, MVT::i32, 0,
9524/* 18163*/ OPC_EmitConvertToTarget, 1,
9525/* 18165*/ OPC_EmitInteger, MVT::i64, 0,
9526/* 18168*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
9527 MVT::i64, 1/*#Ops*/, 5, // Results = #6
9528/* 18175*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9529 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
9530 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 13
9531 // Dst: (ATOMIC_RMW16_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
9532/* 18185*/ 0, /*End of Scope*/
9533/* 18186*/ 0, /*End of Scope*/
9534/* 18187*/ /*Scope*/ 56, /*->18244*/
9535/* 18188*/ OPC_CheckChild1Type, MVT::i32,
9536/* 18190*/ OPC_MoveChild2,
9537/* 18191*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9538/* 18194*/ OPC_RecordChild0, // #2 = $val
9539/* 18195*/ OPC_MoveParent,
9540/* 18196*/ OPC_Scope, 22, /*->18220*/ // 2 children in Scope
9541/* 18198*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
9542/* 18200*/ OPC_MoveParent,
9543/* 18201*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9544/* 18203*/ OPC_EmitMergeInputChains1_0,
9545/* 18204*/ OPC_EmitInteger, MVT::i32, 0,
9546/* 18207*/ OPC_EmitInteger, MVT::i32, 0,
9547/* 18210*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9548 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
9549 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 10
9550 // Dst: (ATOMIC_RMW8_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
9551/* 18220*/ /*Scope*/ 22, /*->18243*/
9552/* 18221*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
9553/* 18223*/ OPC_MoveParent,
9554/* 18224*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9555/* 18226*/ OPC_EmitMergeInputChains1_0,
9556/* 18227*/ OPC_EmitInteger, MVT::i32, 0,
9557/* 18230*/ OPC_EmitInteger, MVT::i32, 0,
9558/* 18233*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9559 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
9560 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 10
9561 // Dst: (ATOMIC_RMW16_U_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
9562/* 18243*/ 0, /*End of Scope*/
9563/* 18244*/ /*Scope*/ 56, /*->18301*/
9564/* 18245*/ OPC_CheckChild1Type, MVT::i64,
9565/* 18247*/ OPC_MoveChild2,
9566/* 18248*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9567/* 18251*/ OPC_RecordChild0, // #2 = $val
9568/* 18252*/ OPC_MoveParent,
9569/* 18253*/ OPC_Scope, 22, /*->18277*/ // 2 children in Scope
9570/* 18255*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
9571/* 18257*/ OPC_MoveParent,
9572/* 18258*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9573/* 18260*/ OPC_EmitMergeInputChains1_0,
9574/* 18261*/ OPC_EmitInteger, MVT::i32, 0,
9575/* 18264*/ OPC_EmitInteger, MVT::i64, 0,
9576/* 18267*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9577 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
9578 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 10
9579 // Dst: (ATOMIC_RMW8_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
9580/* 18277*/ /*Scope*/ 22, /*->18300*/
9581/* 18278*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
9582/* 18280*/ OPC_MoveParent,
9583/* 18281*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9584/* 18283*/ OPC_EmitMergeInputChains1_0,
9585/* 18284*/ OPC_EmitInteger, MVT::i32, 0,
9586/* 18287*/ OPC_EmitInteger, MVT::i64, 0,
9587/* 18290*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9588 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
9589 // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 10
9590 // Dst: (ATOMIC_RMW16_U_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
9591/* 18300*/ 0, /*End of Scope*/
9592/* 18301*/ 0, /*End of Scope*/
9593/* 18302*/ 0, /*End of Scope*/
9594/* 18303*/ /*SwitchOpcode*/ 18|128,5/*658*/, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),// ->18965
9595/* 18307*/ OPC_RecordMemRef,
9596/* 18308*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
9597/* 18309*/ OPC_Scope, 6|128,3/*390*/, /*->18702*/ // 2 children in Scope
9598/* 18312*/ OPC_MoveChild1,
9599/* 18313*/ OPC_SwitchOpcode /*3 cases */, 121, TARGET_VAL(ISD::ADD),// ->18438
9600/* 18317*/ OPC_RecordChild0, // #1 = $addr
9601/* 18318*/ OPC_RecordChild1, // #2 = $off
9602/* 18319*/ OPC_MoveChild1,
9603/* 18320*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9604/* 18323*/ OPC_MoveParent,
9605/* 18324*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
9606/* 18326*/ OPC_SwitchType /*2 cases */, 53, MVT::i32,// ->18382
9607/* 18329*/ OPC_MoveParent,
9608/* 18330*/ OPC_MoveChild2,
9609/* 18331*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9610/* 18334*/ OPC_RecordChild0, // #3 = $val
9611/* 18335*/ OPC_MoveParent,
9612/* 18336*/ OPC_Scope, 21, /*->18359*/ // 2 children in Scope
9613/* 18338*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
9614/* 18340*/ OPC_MoveParent,
9615/* 18341*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9616/* 18343*/ OPC_EmitMergeInputChains1_0,
9617/* 18344*/ OPC_EmitInteger, MVT::i32, 0,
9618/* 18347*/ OPC_EmitConvertToTarget, 2,
9619/* 18349*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9620 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9621 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 17
9622 // Dst: (ATOMIC_RMW8_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
9623/* 18359*/ /*Scope*/ 21, /*->18381*/
9624/* 18360*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
9625/* 18362*/ OPC_MoveParent,
9626/* 18363*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9627/* 18365*/ OPC_EmitMergeInputChains1_0,
9628/* 18366*/ OPC_EmitInteger, MVT::i32, 0,
9629/* 18369*/ OPC_EmitConvertToTarget, 2,
9630/* 18371*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9631 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9632 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 17
9633 // Dst: (ATOMIC_RMW16_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
9634/* 18381*/ 0, /*End of Scope*/
9635/* 18382*/ /*SwitchType*/ 53, MVT::i64,// ->18437
9636/* 18384*/ OPC_MoveParent,
9637/* 18385*/ OPC_MoveChild2,
9638/* 18386*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9639/* 18389*/ OPC_RecordChild0, // #3 = $val
9640/* 18390*/ OPC_MoveParent,
9641/* 18391*/ OPC_Scope, 21, /*->18414*/ // 2 children in Scope
9642/* 18393*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
9643/* 18395*/ OPC_MoveParent,
9644/* 18396*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9645/* 18398*/ OPC_EmitMergeInputChains1_0,
9646/* 18399*/ OPC_EmitInteger, MVT::i32, 0,
9647/* 18402*/ OPC_EmitConvertToTarget, 2,
9648/* 18404*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9649 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9650 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 17
9651 // Dst: (ATOMIC_RMW8_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
9652/* 18414*/ /*Scope*/ 21, /*->18436*/
9653/* 18415*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
9654/* 18417*/ OPC_MoveParent,
9655/* 18418*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9656/* 18420*/ OPC_EmitMergeInputChains1_0,
9657/* 18421*/ OPC_EmitInteger, MVT::i32, 0,
9658/* 18424*/ OPC_EmitConvertToTarget, 2,
9659/* 18426*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9660 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9661 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 17
9662 // Dst: (ATOMIC_RMW16_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
9663/* 18436*/ 0, /*End of Scope*/
9664/* 18437*/ 0, // EndSwitchType
9665/* 18438*/ /*SwitchOpcode*/ 121, TARGET_VAL(ISD::OR),// ->18562
9666/* 18441*/ OPC_RecordChild0, // #1 = $addr
9667/* 18442*/ OPC_RecordChild1, // #2 = $off
9668/* 18443*/ OPC_MoveChild1,
9669/* 18444*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9670/* 18447*/ OPC_MoveParent,
9671/* 18448*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
9672/* 18450*/ OPC_SwitchType /*2 cases */, 53, MVT::i32,// ->18506
9673/* 18453*/ OPC_MoveParent,
9674/* 18454*/ OPC_MoveChild2,
9675/* 18455*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9676/* 18458*/ OPC_RecordChild0, // #3 = $val
9677/* 18459*/ OPC_MoveParent,
9678/* 18460*/ OPC_Scope, 21, /*->18483*/ // 2 children in Scope
9679/* 18462*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
9680/* 18464*/ OPC_MoveParent,
9681/* 18465*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9682/* 18467*/ OPC_EmitMergeInputChains1_0,
9683/* 18468*/ OPC_EmitInteger, MVT::i32, 0,
9684/* 18471*/ OPC_EmitConvertToTarget, 2,
9685/* 18473*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9686 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9687 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 17
9688 // Dst: (ATOMIC_RMW8_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
9689/* 18483*/ /*Scope*/ 21, /*->18505*/
9690/* 18484*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
9691/* 18486*/ OPC_MoveParent,
9692/* 18487*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9693/* 18489*/ OPC_EmitMergeInputChains1_0,
9694/* 18490*/ OPC_EmitInteger, MVT::i32, 0,
9695/* 18493*/ OPC_EmitConvertToTarget, 2,
9696/* 18495*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9697 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9698 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 17
9699 // Dst: (ATOMIC_RMW16_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
9700/* 18505*/ 0, /*End of Scope*/
9701/* 18506*/ /*SwitchType*/ 53, MVT::i64,// ->18561
9702/* 18508*/ OPC_MoveParent,
9703/* 18509*/ OPC_MoveChild2,
9704/* 18510*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9705/* 18513*/ OPC_RecordChild0, // #3 = $val
9706/* 18514*/ OPC_MoveParent,
9707/* 18515*/ OPC_Scope, 21, /*->18538*/ // 2 children in Scope
9708/* 18517*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
9709/* 18519*/ OPC_MoveParent,
9710/* 18520*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9711/* 18522*/ OPC_EmitMergeInputChains1_0,
9712/* 18523*/ OPC_EmitInteger, MVT::i32, 0,
9713/* 18526*/ OPC_EmitConvertToTarget, 2,
9714/* 18528*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9715 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9716 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 17
9717 // Dst: (ATOMIC_RMW8_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
9718/* 18538*/ /*Scope*/ 21, /*->18560*/
9719/* 18539*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
9720/* 18541*/ OPC_MoveParent,
9721/* 18542*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9722/* 18544*/ OPC_EmitMergeInputChains1_0,
9723/* 18545*/ OPC_EmitInteger, MVT::i32, 0,
9724/* 18548*/ OPC_EmitConvertToTarget, 2,
9725/* 18550*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9726 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9727 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 17
9728 // Dst: (ATOMIC_RMW16_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
9729/* 18560*/ 0, /*End of Scope*/
9730/* 18561*/ 0, // EndSwitchType
9731/* 18562*/ /*SwitchOpcode*/ 7|128,1/*135*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->18701
9732/* 18566*/ OPC_RecordChild0, // #1 = $off
9733/* 18567*/ OPC_MoveChild0,
9734/* 18568*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
9735/* 18571*/ OPC_MoveParent,
9736/* 18572*/ OPC_MoveParent,
9737/* 18573*/ OPC_MoveChild2,
9738/* 18574*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9739/* 18577*/ OPC_RecordChild0, // #2 = $val
9740/* 18578*/ OPC_MoveParent,
9741/* 18579*/ OPC_Scope, 59, /*->18640*/ // 2 children in Scope
9742/* 18581*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
9743/* 18583*/ OPC_MoveParent,
9744/* 18584*/ OPC_Scope, 26, /*->18612*/ // 2 children in Scope
9745/* 18586*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
9746/* 18588*/ OPC_EmitMergeInputChains1_0,
9747/* 18589*/ OPC_EmitInteger, MVT::i32, 0,
9748/* 18592*/ OPC_EmitInteger, MVT::i32, 0,
9749/* 18595*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9750 MVT::i32, 1/*#Ops*/, 4, // Results = #5
9751/* 18602*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9752 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
9753 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 16
9754 // Dst: (ATOMIC_RMW8_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
9755/* 18612*/ /*Scope*/ 26, /*->18639*/
9756/* 18613*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
9757/* 18615*/ OPC_EmitMergeInputChains1_0,
9758/* 18616*/ OPC_EmitInteger, MVT::i32, 0,
9759/* 18619*/ OPC_EmitInteger, MVT::i64, 0,
9760/* 18622*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
9761 MVT::i64, 1/*#Ops*/, 4, // Results = #5
9762/* 18629*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9763 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
9764 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 16
9765 // Dst: (ATOMIC_RMW8_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
9766/* 18639*/ 0, /*End of Scope*/
9767/* 18640*/ /*Scope*/ 59, /*->18700*/
9768/* 18641*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
9769/* 18643*/ OPC_MoveParent,
9770/* 18644*/ OPC_Scope, 26, /*->18672*/ // 2 children in Scope
9771/* 18646*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
9772/* 18648*/ OPC_EmitMergeInputChains1_0,
9773/* 18649*/ OPC_EmitInteger, MVT::i32, 0,
9774/* 18652*/ OPC_EmitInteger, MVT::i32, 0,
9775/* 18655*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9776 MVT::i32, 1/*#Ops*/, 4, // Results = #5
9777/* 18662*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9778 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
9779 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 16
9780 // Dst: (ATOMIC_RMW16_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
9781/* 18672*/ /*Scope*/ 26, /*->18699*/
9782/* 18673*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
9783/* 18675*/ OPC_EmitMergeInputChains1_0,
9784/* 18676*/ OPC_EmitInteger, MVT::i32, 0,
9785/* 18679*/ OPC_EmitInteger, MVT::i64, 0,
9786/* 18682*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
9787 MVT::i64, 1/*#Ops*/, 4, // Results = #5
9788/* 18689*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9789 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
9790 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 16
9791 // Dst: (ATOMIC_RMW16_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
9792/* 18699*/ 0, /*End of Scope*/
9793/* 18700*/ 0, /*End of Scope*/
9794/* 18701*/ 0, // EndSwitchOpcode
9795/* 18702*/ /*Scope*/ 4|128,2/*260*/, /*->18964*/
9796/* 18704*/ OPC_RecordChild1, // #1 = $off
9797/* 18705*/ OPC_Scope, 13|128,1/*141*/, /*->18849*/ // 3 children in Scope
9798/* 18708*/ OPC_MoveChild1,
9799/* 18709*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9800/* 18712*/ OPC_MoveParent,
9801/* 18713*/ OPC_MoveChild2,
9802/* 18714*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9803/* 18717*/ OPC_RecordChild0, // #2 = $val
9804/* 18718*/ OPC_MoveParent,
9805/* 18719*/ OPC_Scope, 63, /*->18784*/ // 2 children in Scope
9806/* 18721*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
9807/* 18723*/ OPC_MoveParent,
9808/* 18724*/ OPC_Scope, 28, /*->18754*/ // 2 children in Scope
9809/* 18726*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9810/* 18728*/ OPC_EmitMergeInputChains1_0,
9811/* 18729*/ OPC_EmitInteger, MVT::i32, 0,
9812/* 18732*/ OPC_EmitConvertToTarget, 1,
9813/* 18734*/ OPC_EmitInteger, MVT::i32, 0,
9814/* 18737*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9815 MVT::i32, 1/*#Ops*/, 5, // Results = #6
9816/* 18744*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9817 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
9818 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 13
9819 // Dst: (ATOMIC_RMW8_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
9820/* 18754*/ /*Scope*/ 28, /*->18783*/
9821/* 18755*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9822/* 18757*/ OPC_EmitMergeInputChains1_0,
9823/* 18758*/ OPC_EmitInteger, MVT::i32, 0,
9824/* 18761*/ OPC_EmitConvertToTarget, 1,
9825/* 18763*/ OPC_EmitInteger, MVT::i64, 0,
9826/* 18766*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
9827 MVT::i64, 1/*#Ops*/, 5, // Results = #6
9828/* 18773*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9829 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
9830 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 13
9831 // Dst: (ATOMIC_RMW8_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
9832/* 18783*/ 0, /*End of Scope*/
9833/* 18784*/ /*Scope*/ 63, /*->18848*/
9834/* 18785*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
9835/* 18787*/ OPC_MoveParent,
9836/* 18788*/ OPC_Scope, 28, /*->18818*/ // 2 children in Scope
9837/* 18790*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9838/* 18792*/ OPC_EmitMergeInputChains1_0,
9839/* 18793*/ OPC_EmitInteger, MVT::i32, 0,
9840/* 18796*/ OPC_EmitConvertToTarget, 1,
9841/* 18798*/ OPC_EmitInteger, MVT::i32, 0,
9842/* 18801*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9843 MVT::i32, 1/*#Ops*/, 5, // Results = #6
9844/* 18808*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9845 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
9846 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 13
9847 // Dst: (ATOMIC_RMW16_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
9848/* 18818*/ /*Scope*/ 28, /*->18847*/
9849/* 18819*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9850/* 18821*/ OPC_EmitMergeInputChains1_0,
9851/* 18822*/ OPC_EmitInteger, MVT::i32, 0,
9852/* 18825*/ OPC_EmitConvertToTarget, 1,
9853/* 18827*/ OPC_EmitInteger, MVT::i64, 0,
9854/* 18830*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
9855 MVT::i64, 1/*#Ops*/, 5, // Results = #6
9856/* 18837*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9857 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
9858 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 13
9859 // Dst: (ATOMIC_RMW16_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
9860/* 18847*/ 0, /*End of Scope*/
9861/* 18848*/ 0, /*End of Scope*/
9862/* 18849*/ /*Scope*/ 56, /*->18906*/
9863/* 18850*/ OPC_CheckChild1Type, MVT::i32,
9864/* 18852*/ OPC_MoveChild2,
9865/* 18853*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9866/* 18856*/ OPC_RecordChild0, // #2 = $val
9867/* 18857*/ OPC_MoveParent,
9868/* 18858*/ OPC_Scope, 22, /*->18882*/ // 2 children in Scope
9869/* 18860*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
9870/* 18862*/ OPC_MoveParent,
9871/* 18863*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9872/* 18865*/ OPC_EmitMergeInputChains1_0,
9873/* 18866*/ OPC_EmitInteger, MVT::i32, 0,
9874/* 18869*/ OPC_EmitInteger, MVT::i32, 0,
9875/* 18872*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9876 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
9877 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 10
9878 // Dst: (ATOMIC_RMW8_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
9879/* 18882*/ /*Scope*/ 22, /*->18905*/
9880/* 18883*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
9881/* 18885*/ OPC_MoveParent,
9882/* 18886*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9883/* 18888*/ OPC_EmitMergeInputChains1_0,
9884/* 18889*/ OPC_EmitInteger, MVT::i32, 0,
9885/* 18892*/ OPC_EmitInteger, MVT::i32, 0,
9886/* 18895*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9887 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
9888 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 10
9889 // Dst: (ATOMIC_RMW16_U_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
9890/* 18905*/ 0, /*End of Scope*/
9891/* 18906*/ /*Scope*/ 56, /*->18963*/
9892/* 18907*/ OPC_CheckChild1Type, MVT::i64,
9893/* 18909*/ OPC_MoveChild2,
9894/* 18910*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9895/* 18913*/ OPC_RecordChild0, // #2 = $val
9896/* 18914*/ OPC_MoveParent,
9897/* 18915*/ OPC_Scope, 22, /*->18939*/ // 2 children in Scope
9898/* 18917*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
9899/* 18919*/ OPC_MoveParent,
9900/* 18920*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9901/* 18922*/ OPC_EmitMergeInputChains1_0,
9902/* 18923*/ OPC_EmitInteger, MVT::i32, 0,
9903/* 18926*/ OPC_EmitInteger, MVT::i64, 0,
9904/* 18929*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9905 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
9906 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 10
9907 // Dst: (ATOMIC_RMW8_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
9908/* 18939*/ /*Scope*/ 22, /*->18962*/
9909/* 18940*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
9910/* 18942*/ OPC_MoveParent,
9911/* 18943*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9912/* 18945*/ OPC_EmitMergeInputChains1_0,
9913/* 18946*/ OPC_EmitInteger, MVT::i32, 0,
9914/* 18949*/ OPC_EmitInteger, MVT::i64, 0,
9915/* 18952*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9916 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
9917 // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 10
9918 // Dst: (ATOMIC_RMW16_U_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
9919/* 18962*/ 0, /*End of Scope*/
9920/* 18963*/ 0, /*End of Scope*/
9921/* 18964*/ 0, /*End of Scope*/
9922/* 18965*/ /*SwitchOpcode*/ 18|128,5/*658*/, TARGET_VAL(ISD::ATOMIC_LOAD_AND),// ->19627
9923/* 18969*/ OPC_RecordMemRef,
9924/* 18970*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
9925/* 18971*/ OPC_Scope, 6|128,3/*390*/, /*->19364*/ // 2 children in Scope
9926/* 18974*/ OPC_MoveChild1,
9927/* 18975*/ OPC_SwitchOpcode /*3 cases */, 121, TARGET_VAL(ISD::ADD),// ->19100
9928/* 18979*/ OPC_RecordChild0, // #1 = $addr
9929/* 18980*/ OPC_RecordChild1, // #2 = $off
9930/* 18981*/ OPC_MoveChild1,
9931/* 18982*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9932/* 18985*/ OPC_MoveParent,
9933/* 18986*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
9934/* 18988*/ OPC_SwitchType /*2 cases */, 53, MVT::i32,// ->19044
9935/* 18991*/ OPC_MoveParent,
9936/* 18992*/ OPC_MoveChild2,
9937/* 18993*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9938/* 18996*/ OPC_RecordChild0, // #3 = $val
9939/* 18997*/ OPC_MoveParent,
9940/* 18998*/ OPC_Scope, 21, /*->19021*/ // 2 children in Scope
9941/* 19000*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
9942/* 19002*/ OPC_MoveParent,
9943/* 19003*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9944/* 19005*/ OPC_EmitMergeInputChains1_0,
9945/* 19006*/ OPC_EmitInteger, MVT::i32, 0,
9946/* 19009*/ OPC_EmitConvertToTarget, 2,
9947/* 19011*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9948 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9949 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 17
9950 // Dst: (ATOMIC_RMW8_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
9951/* 19021*/ /*Scope*/ 21, /*->19043*/
9952/* 19022*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
9953/* 19024*/ OPC_MoveParent,
9954/* 19025*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9955/* 19027*/ OPC_EmitMergeInputChains1_0,
9956/* 19028*/ OPC_EmitInteger, MVT::i32, 0,
9957/* 19031*/ OPC_EmitConvertToTarget, 2,
9958/* 19033*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
9959 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9960 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 17
9961 // Dst: (ATOMIC_RMW16_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
9962/* 19043*/ 0, /*End of Scope*/
9963/* 19044*/ /*SwitchType*/ 53, MVT::i64,// ->19099
9964/* 19046*/ OPC_MoveParent,
9965/* 19047*/ OPC_MoveChild2,
9966/* 19048*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9967/* 19051*/ OPC_RecordChild0, // #3 = $val
9968/* 19052*/ OPC_MoveParent,
9969/* 19053*/ OPC_Scope, 21, /*->19076*/ // 2 children in Scope
9970/* 19055*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
9971/* 19057*/ OPC_MoveParent,
9972/* 19058*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9973/* 19060*/ OPC_EmitMergeInputChains1_0,
9974/* 19061*/ OPC_EmitInteger, MVT::i32, 0,
9975/* 19064*/ OPC_EmitConvertToTarget, 2,
9976/* 19066*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9977 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9978 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 17
9979 // Dst: (ATOMIC_RMW8_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
9980/* 19076*/ /*Scope*/ 21, /*->19098*/
9981/* 19077*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
9982/* 19079*/ OPC_MoveParent,
9983/* 19080*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
9984/* 19082*/ OPC_EmitMergeInputChains1_0,
9985/* 19083*/ OPC_EmitInteger, MVT::i32, 0,
9986/* 19086*/ OPC_EmitConvertToTarget, 2,
9987/* 19088*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
9988 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
9989 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 17
9990 // Dst: (ATOMIC_RMW16_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
9991/* 19098*/ 0, /*End of Scope*/
9992/* 19099*/ 0, // EndSwitchType
9993/* 19100*/ /*SwitchOpcode*/ 121, TARGET_VAL(ISD::OR),// ->19224
9994/* 19103*/ OPC_RecordChild0, // #1 = $addr
9995/* 19104*/ OPC_RecordChild1, // #2 = $off
9996/* 19105*/ OPC_MoveChild1,
9997/* 19106*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9998/* 19109*/ OPC_MoveParent,
9999/* 19110*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
10000/* 19112*/ OPC_SwitchType /*2 cases */, 53, MVT::i32,// ->19168
10001/* 19115*/ OPC_MoveParent,
10002/* 19116*/ OPC_MoveChild2,
10003/* 19117*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10004/* 19120*/ OPC_RecordChild0, // #3 = $val
10005/* 19121*/ OPC_MoveParent,
10006/* 19122*/ OPC_Scope, 21, /*->19145*/ // 2 children in Scope
10007/* 19124*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
10008/* 19126*/ OPC_MoveParent,
10009/* 19127*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10010/* 19129*/ OPC_EmitMergeInputChains1_0,
10011/* 19130*/ OPC_EmitInteger, MVT::i32, 0,
10012/* 19133*/ OPC_EmitConvertToTarget, 2,
10013/* 19135*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10014 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10015 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 17
10016 // Dst: (ATOMIC_RMW8_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10017/* 19145*/ /*Scope*/ 21, /*->19167*/
10018/* 19146*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
10019/* 19148*/ OPC_MoveParent,
10020/* 19149*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10021/* 19151*/ OPC_EmitMergeInputChains1_0,
10022/* 19152*/ OPC_EmitInteger, MVT::i32, 0,
10023/* 19155*/ OPC_EmitConvertToTarget, 2,
10024/* 19157*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10025 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10026 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 17
10027 // Dst: (ATOMIC_RMW16_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10028/* 19167*/ 0, /*End of Scope*/
10029/* 19168*/ /*SwitchType*/ 53, MVT::i64,// ->19223
10030/* 19170*/ OPC_MoveParent,
10031/* 19171*/ OPC_MoveChild2,
10032/* 19172*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10033/* 19175*/ OPC_RecordChild0, // #3 = $val
10034/* 19176*/ OPC_MoveParent,
10035/* 19177*/ OPC_Scope, 21, /*->19200*/ // 2 children in Scope
10036/* 19179*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
10037/* 19181*/ OPC_MoveParent,
10038/* 19182*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10039/* 19184*/ OPC_EmitMergeInputChains1_0,
10040/* 19185*/ OPC_EmitInteger, MVT::i32, 0,
10041/* 19188*/ OPC_EmitConvertToTarget, 2,
10042/* 19190*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10043 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10044 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 17
10045 // Dst: (ATOMIC_RMW8_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10046/* 19200*/ /*Scope*/ 21, /*->19222*/
10047/* 19201*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
10048/* 19203*/ OPC_MoveParent,
10049/* 19204*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10050/* 19206*/ OPC_EmitMergeInputChains1_0,
10051/* 19207*/ OPC_EmitInteger, MVT::i32, 0,
10052/* 19210*/ OPC_EmitConvertToTarget, 2,
10053/* 19212*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10054 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10055 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 17
10056 // Dst: (ATOMIC_RMW16_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10057/* 19222*/ 0, /*End of Scope*/
10058/* 19223*/ 0, // EndSwitchType
10059/* 19224*/ /*SwitchOpcode*/ 7|128,1/*135*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->19363
10060/* 19228*/ OPC_RecordChild0, // #1 = $off
10061/* 19229*/ OPC_MoveChild0,
10062/* 19230*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
10063/* 19233*/ OPC_MoveParent,
10064/* 19234*/ OPC_MoveParent,
10065/* 19235*/ OPC_MoveChild2,
10066/* 19236*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10067/* 19239*/ OPC_RecordChild0, // #2 = $val
10068/* 19240*/ OPC_MoveParent,
10069/* 19241*/ OPC_Scope, 59, /*->19302*/ // 2 children in Scope
10070/* 19243*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
10071/* 19245*/ OPC_MoveParent,
10072/* 19246*/ OPC_Scope, 26, /*->19274*/ // 2 children in Scope
10073/* 19248*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
10074/* 19250*/ OPC_EmitMergeInputChains1_0,
10075/* 19251*/ OPC_EmitInteger, MVT::i32, 0,
10076/* 19254*/ OPC_EmitInteger, MVT::i32, 0,
10077/* 19257*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10078 MVT::i32, 1/*#Ops*/, 4, // Results = #5
10079/* 19264*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10080 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10081 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 16
10082 // Dst: (ATOMIC_RMW8_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10083/* 19274*/ /*Scope*/ 26, /*->19301*/
10084/* 19275*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
10085/* 19277*/ OPC_EmitMergeInputChains1_0,
10086/* 19278*/ OPC_EmitInteger, MVT::i32, 0,
10087/* 19281*/ OPC_EmitInteger, MVT::i64, 0,
10088/* 19284*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
10089 MVT::i64, 1/*#Ops*/, 4, // Results = #5
10090/* 19291*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10091 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10092 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 16
10093 // Dst: (ATOMIC_RMW8_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
10094/* 19301*/ 0, /*End of Scope*/
10095/* 19302*/ /*Scope*/ 59, /*->19362*/
10096/* 19303*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
10097/* 19305*/ OPC_MoveParent,
10098/* 19306*/ OPC_Scope, 26, /*->19334*/ // 2 children in Scope
10099/* 19308*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
10100/* 19310*/ OPC_EmitMergeInputChains1_0,
10101/* 19311*/ OPC_EmitInteger, MVT::i32, 0,
10102/* 19314*/ OPC_EmitInteger, MVT::i32, 0,
10103/* 19317*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10104 MVT::i32, 1/*#Ops*/, 4, // Results = #5
10105/* 19324*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10106 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10107 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 16
10108 // Dst: (ATOMIC_RMW16_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10109/* 19334*/ /*Scope*/ 26, /*->19361*/
10110/* 19335*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
10111/* 19337*/ OPC_EmitMergeInputChains1_0,
10112/* 19338*/ OPC_EmitInteger, MVT::i32, 0,
10113/* 19341*/ OPC_EmitInteger, MVT::i64, 0,
10114/* 19344*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
10115 MVT::i64, 1/*#Ops*/, 4, // Results = #5
10116/* 19351*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10117 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10118 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 16
10119 // Dst: (ATOMIC_RMW16_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
10120/* 19361*/ 0, /*End of Scope*/
10121/* 19362*/ 0, /*End of Scope*/
10122/* 19363*/ 0, // EndSwitchOpcode
10123/* 19364*/ /*Scope*/ 4|128,2/*260*/, /*->19626*/
10124/* 19366*/ OPC_RecordChild1, // #1 = $off
10125/* 19367*/ OPC_Scope, 13|128,1/*141*/, /*->19511*/ // 3 children in Scope
10126/* 19370*/ OPC_MoveChild1,
10127/* 19371*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10128/* 19374*/ OPC_MoveParent,
10129/* 19375*/ OPC_MoveChild2,
10130/* 19376*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10131/* 19379*/ OPC_RecordChild0, // #2 = $val
10132/* 19380*/ OPC_MoveParent,
10133/* 19381*/ OPC_Scope, 63, /*->19446*/ // 2 children in Scope
10134/* 19383*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
10135/* 19385*/ OPC_MoveParent,
10136/* 19386*/ OPC_Scope, 28, /*->19416*/ // 2 children in Scope
10137/* 19388*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10138/* 19390*/ OPC_EmitMergeInputChains1_0,
10139/* 19391*/ OPC_EmitInteger, MVT::i32, 0,
10140/* 19394*/ OPC_EmitConvertToTarget, 1,
10141/* 19396*/ OPC_EmitInteger, MVT::i32, 0,
10142/* 19399*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10143 MVT::i32, 1/*#Ops*/, 5, // Results = #6
10144/* 19406*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10145 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
10146 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 13
10147 // Dst: (ATOMIC_RMW8_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10148/* 19416*/ /*Scope*/ 28, /*->19445*/
10149/* 19417*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10150/* 19419*/ OPC_EmitMergeInputChains1_0,
10151/* 19420*/ OPC_EmitInteger, MVT::i32, 0,
10152/* 19423*/ OPC_EmitConvertToTarget, 1,
10153/* 19425*/ OPC_EmitInteger, MVT::i64, 0,
10154/* 19428*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
10155 MVT::i64, 1/*#Ops*/, 5, // Results = #6
10156/* 19435*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10157 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
10158 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 13
10159 // Dst: (ATOMIC_RMW8_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
10160/* 19445*/ 0, /*End of Scope*/
10161/* 19446*/ /*Scope*/ 63, /*->19510*/
10162/* 19447*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
10163/* 19449*/ OPC_MoveParent,
10164/* 19450*/ OPC_Scope, 28, /*->19480*/ // 2 children in Scope
10165/* 19452*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10166/* 19454*/ OPC_EmitMergeInputChains1_0,
10167/* 19455*/ OPC_EmitInteger, MVT::i32, 0,
10168/* 19458*/ OPC_EmitConvertToTarget, 1,
10169/* 19460*/ OPC_EmitInteger, MVT::i32, 0,
10170/* 19463*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10171 MVT::i32, 1/*#Ops*/, 5, // Results = #6
10172/* 19470*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10173 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
10174 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 13
10175 // Dst: (ATOMIC_RMW16_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10176/* 19480*/ /*Scope*/ 28, /*->19509*/
10177/* 19481*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10178/* 19483*/ OPC_EmitMergeInputChains1_0,
10179/* 19484*/ OPC_EmitInteger, MVT::i32, 0,
10180/* 19487*/ OPC_EmitConvertToTarget, 1,
10181/* 19489*/ OPC_EmitInteger, MVT::i64, 0,
10182/* 19492*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
10183 MVT::i64, 1/*#Ops*/, 5, // Results = #6
10184/* 19499*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10185 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
10186 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 13
10187 // Dst: (ATOMIC_RMW16_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
10188/* 19509*/ 0, /*End of Scope*/
10189/* 19510*/ 0, /*End of Scope*/
10190/* 19511*/ /*Scope*/ 56, /*->19568*/
10191/* 19512*/ OPC_CheckChild1Type, MVT::i32,
10192/* 19514*/ OPC_MoveChild2,
10193/* 19515*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10194/* 19518*/ OPC_RecordChild0, // #2 = $val
10195/* 19519*/ OPC_MoveParent,
10196/* 19520*/ OPC_Scope, 22, /*->19544*/ // 2 children in Scope
10197/* 19522*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
10198/* 19524*/ OPC_MoveParent,
10199/* 19525*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10200/* 19527*/ OPC_EmitMergeInputChains1_0,
10201/* 19528*/ OPC_EmitInteger, MVT::i32, 0,
10202/* 19531*/ OPC_EmitInteger, MVT::i32, 0,
10203/* 19534*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10204 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
10205 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 10
10206 // Dst: (ATOMIC_RMW8_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10207/* 19544*/ /*Scope*/ 22, /*->19567*/
10208/* 19545*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
10209/* 19547*/ OPC_MoveParent,
10210/* 19548*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10211/* 19550*/ OPC_EmitMergeInputChains1_0,
10212/* 19551*/ OPC_EmitInteger, MVT::i32, 0,
10213/* 19554*/ OPC_EmitInteger, MVT::i32, 0,
10214/* 19557*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10215 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
10216 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 10
10217 // Dst: (ATOMIC_RMW16_U_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10218/* 19567*/ 0, /*End of Scope*/
10219/* 19568*/ /*Scope*/ 56, /*->19625*/
10220/* 19569*/ OPC_CheckChild1Type, MVT::i64,
10221/* 19571*/ OPC_MoveChild2,
10222/* 19572*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10223/* 19575*/ OPC_RecordChild0, // #2 = $val
10224/* 19576*/ OPC_MoveParent,
10225/* 19577*/ OPC_Scope, 22, /*->19601*/ // 2 children in Scope
10226/* 19579*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
10227/* 19581*/ OPC_MoveParent,
10228/* 19582*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10229/* 19584*/ OPC_EmitMergeInputChains1_0,
10230/* 19585*/ OPC_EmitInteger, MVT::i32, 0,
10231/* 19588*/ OPC_EmitInteger, MVT::i64, 0,
10232/* 19591*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10233 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
10234 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 10
10235 // Dst: (ATOMIC_RMW8_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10236/* 19601*/ /*Scope*/ 22, /*->19624*/
10237/* 19602*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
10238/* 19604*/ OPC_MoveParent,
10239/* 19605*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10240/* 19607*/ OPC_EmitMergeInputChains1_0,
10241/* 19608*/ OPC_EmitInteger, MVT::i32, 0,
10242/* 19611*/ OPC_EmitInteger, MVT::i64, 0,
10243/* 19614*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10244 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
10245 // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 10
10246 // Dst: (ATOMIC_RMW16_U_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10247/* 19624*/ 0, /*End of Scope*/
10248/* 19625*/ 0, /*End of Scope*/
10249/* 19626*/ 0, /*End of Scope*/
10250/* 19627*/ /*SwitchOpcode*/ 18|128,5/*658*/, TARGET_VAL(ISD::ATOMIC_LOAD_OR),// ->20289
10251/* 19631*/ OPC_RecordMemRef,
10252/* 19632*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
10253/* 19633*/ OPC_Scope, 6|128,3/*390*/, /*->20026*/ // 2 children in Scope
10254/* 19636*/ OPC_MoveChild1,
10255/* 19637*/ OPC_SwitchOpcode /*3 cases */, 121, TARGET_VAL(ISD::ADD),// ->19762
10256/* 19641*/ OPC_RecordChild0, // #1 = $addr
10257/* 19642*/ OPC_RecordChild1, // #2 = $off
10258/* 19643*/ OPC_MoveChild1,
10259/* 19644*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10260/* 19647*/ OPC_MoveParent,
10261/* 19648*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
10262/* 19650*/ OPC_SwitchType /*2 cases */, 53, MVT::i32,// ->19706
10263/* 19653*/ OPC_MoveParent,
10264/* 19654*/ OPC_MoveChild2,
10265/* 19655*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10266/* 19658*/ OPC_RecordChild0, // #3 = $val
10267/* 19659*/ OPC_MoveParent,
10268/* 19660*/ OPC_Scope, 21, /*->19683*/ // 2 children in Scope
10269/* 19662*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
10270/* 19664*/ OPC_MoveParent,
10271/* 19665*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10272/* 19667*/ OPC_EmitMergeInputChains1_0,
10273/* 19668*/ OPC_EmitInteger, MVT::i32, 0,
10274/* 19671*/ OPC_EmitConvertToTarget, 2,
10275/* 19673*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10276 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10277 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 17
10278 // Dst: (ATOMIC_RMW8_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10279/* 19683*/ /*Scope*/ 21, /*->19705*/
10280/* 19684*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
10281/* 19686*/ OPC_MoveParent,
10282/* 19687*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10283/* 19689*/ OPC_EmitMergeInputChains1_0,
10284/* 19690*/ OPC_EmitInteger, MVT::i32, 0,
10285/* 19693*/ OPC_EmitConvertToTarget, 2,
10286/* 19695*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10287 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10288 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 17
10289 // Dst: (ATOMIC_RMW16_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10290/* 19705*/ 0, /*End of Scope*/
10291/* 19706*/ /*SwitchType*/ 53, MVT::i64,// ->19761
10292/* 19708*/ OPC_MoveParent,
10293/* 19709*/ OPC_MoveChild2,
10294/* 19710*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10295/* 19713*/ OPC_RecordChild0, // #3 = $val
10296/* 19714*/ OPC_MoveParent,
10297/* 19715*/ OPC_Scope, 21, /*->19738*/ // 2 children in Scope
10298/* 19717*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
10299/* 19719*/ OPC_MoveParent,
10300/* 19720*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10301/* 19722*/ OPC_EmitMergeInputChains1_0,
10302/* 19723*/ OPC_EmitInteger, MVT::i32, 0,
10303/* 19726*/ OPC_EmitConvertToTarget, 2,
10304/* 19728*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10305 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10306 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 17
10307 // Dst: (ATOMIC_RMW8_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10308/* 19738*/ /*Scope*/ 21, /*->19760*/
10309/* 19739*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
10310/* 19741*/ OPC_MoveParent,
10311/* 19742*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10312/* 19744*/ OPC_EmitMergeInputChains1_0,
10313/* 19745*/ OPC_EmitInteger, MVT::i32, 0,
10314/* 19748*/ OPC_EmitConvertToTarget, 2,
10315/* 19750*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10316 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10317 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 17
10318 // Dst: (ATOMIC_RMW16_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10319/* 19760*/ 0, /*End of Scope*/
10320/* 19761*/ 0, // EndSwitchType
10321/* 19762*/ /*SwitchOpcode*/ 121, TARGET_VAL(ISD::OR),// ->19886
10322/* 19765*/ OPC_RecordChild0, // #1 = $addr
10323/* 19766*/ OPC_RecordChild1, // #2 = $off
10324/* 19767*/ OPC_MoveChild1,
10325/* 19768*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10326/* 19771*/ OPC_MoveParent,
10327/* 19772*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
10328/* 19774*/ OPC_SwitchType /*2 cases */, 53, MVT::i32,// ->19830
10329/* 19777*/ OPC_MoveParent,
10330/* 19778*/ OPC_MoveChild2,
10331/* 19779*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10332/* 19782*/ OPC_RecordChild0, // #3 = $val
10333/* 19783*/ OPC_MoveParent,
10334/* 19784*/ OPC_Scope, 21, /*->19807*/ // 2 children in Scope
10335/* 19786*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
10336/* 19788*/ OPC_MoveParent,
10337/* 19789*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10338/* 19791*/ OPC_EmitMergeInputChains1_0,
10339/* 19792*/ OPC_EmitInteger, MVT::i32, 0,
10340/* 19795*/ OPC_EmitConvertToTarget, 2,
10341/* 19797*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10342 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10343 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 17
10344 // Dst: (ATOMIC_RMW8_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10345/* 19807*/ /*Scope*/ 21, /*->19829*/
10346/* 19808*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
10347/* 19810*/ OPC_MoveParent,
10348/* 19811*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10349/* 19813*/ OPC_EmitMergeInputChains1_0,
10350/* 19814*/ OPC_EmitInteger, MVT::i32, 0,
10351/* 19817*/ OPC_EmitConvertToTarget, 2,
10352/* 19819*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10353 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10354 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 17
10355 // Dst: (ATOMIC_RMW16_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10356/* 19829*/ 0, /*End of Scope*/
10357/* 19830*/ /*SwitchType*/ 53, MVT::i64,// ->19885
10358/* 19832*/ OPC_MoveParent,
10359/* 19833*/ OPC_MoveChild2,
10360/* 19834*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10361/* 19837*/ OPC_RecordChild0, // #3 = $val
10362/* 19838*/ OPC_MoveParent,
10363/* 19839*/ OPC_Scope, 21, /*->19862*/ // 2 children in Scope
10364/* 19841*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
10365/* 19843*/ OPC_MoveParent,
10366/* 19844*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10367/* 19846*/ OPC_EmitMergeInputChains1_0,
10368/* 19847*/ OPC_EmitInteger, MVT::i32, 0,
10369/* 19850*/ OPC_EmitConvertToTarget, 2,
10370/* 19852*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10371 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10372 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 17
10373 // Dst: (ATOMIC_RMW8_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10374/* 19862*/ /*Scope*/ 21, /*->19884*/
10375/* 19863*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
10376/* 19865*/ OPC_MoveParent,
10377/* 19866*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10378/* 19868*/ OPC_EmitMergeInputChains1_0,
10379/* 19869*/ OPC_EmitInteger, MVT::i32, 0,
10380/* 19872*/ OPC_EmitConvertToTarget, 2,
10381/* 19874*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10382 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10383 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 17
10384 // Dst: (ATOMIC_RMW16_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10385/* 19884*/ 0, /*End of Scope*/
10386/* 19885*/ 0, // EndSwitchType
10387/* 19886*/ /*SwitchOpcode*/ 7|128,1/*135*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->20025
10388/* 19890*/ OPC_RecordChild0, // #1 = $off
10389/* 19891*/ OPC_MoveChild0,
10390/* 19892*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
10391/* 19895*/ OPC_MoveParent,
10392/* 19896*/ OPC_MoveParent,
10393/* 19897*/ OPC_MoveChild2,
10394/* 19898*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10395/* 19901*/ OPC_RecordChild0, // #2 = $val
10396/* 19902*/ OPC_MoveParent,
10397/* 19903*/ OPC_Scope, 59, /*->19964*/ // 2 children in Scope
10398/* 19905*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
10399/* 19907*/ OPC_MoveParent,
10400/* 19908*/ OPC_Scope, 26, /*->19936*/ // 2 children in Scope
10401/* 19910*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
10402/* 19912*/ OPC_EmitMergeInputChains1_0,
10403/* 19913*/ OPC_EmitInteger, MVT::i32, 0,
10404/* 19916*/ OPC_EmitInteger, MVT::i32, 0,
10405/* 19919*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10406 MVT::i32, 1/*#Ops*/, 4, // Results = #5
10407/* 19926*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10408 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10409 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 16
10410 // Dst: (ATOMIC_RMW8_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10411/* 19936*/ /*Scope*/ 26, /*->19963*/
10412/* 19937*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
10413/* 19939*/ OPC_EmitMergeInputChains1_0,
10414/* 19940*/ OPC_EmitInteger, MVT::i32, 0,
10415/* 19943*/ OPC_EmitInteger, MVT::i64, 0,
10416/* 19946*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
10417 MVT::i64, 1/*#Ops*/, 4, // Results = #5
10418/* 19953*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10419 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10420 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 16
10421 // Dst: (ATOMIC_RMW8_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
10422/* 19963*/ 0, /*End of Scope*/
10423/* 19964*/ /*Scope*/ 59, /*->20024*/
10424/* 19965*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
10425/* 19967*/ OPC_MoveParent,
10426/* 19968*/ OPC_Scope, 26, /*->19996*/ // 2 children in Scope
10427/* 19970*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
10428/* 19972*/ OPC_EmitMergeInputChains1_0,
10429/* 19973*/ OPC_EmitInteger, MVT::i32, 0,
10430/* 19976*/ OPC_EmitInteger, MVT::i32, 0,
10431/* 19979*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10432 MVT::i32, 1/*#Ops*/, 4, // Results = #5
10433/* 19986*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10434 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10435 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 16
10436 // Dst: (ATOMIC_RMW16_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10437/* 19996*/ /*Scope*/ 26, /*->20023*/
10438/* 19997*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
10439/* 19999*/ OPC_EmitMergeInputChains1_0,
10440/* 20000*/ OPC_EmitInteger, MVT::i32, 0,
10441/* 20003*/ OPC_EmitInteger, MVT::i64, 0,
10442/* 20006*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
10443 MVT::i64, 1/*#Ops*/, 4, // Results = #5
10444/* 20013*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10445 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10446 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 16
10447 // Dst: (ATOMIC_RMW16_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
10448/* 20023*/ 0, /*End of Scope*/
10449/* 20024*/ 0, /*End of Scope*/
10450/* 20025*/ 0, // EndSwitchOpcode
10451/* 20026*/ /*Scope*/ 4|128,2/*260*/, /*->20288*/
10452/* 20028*/ OPC_RecordChild1, // #1 = $off
10453/* 20029*/ OPC_Scope, 13|128,1/*141*/, /*->20173*/ // 3 children in Scope
10454/* 20032*/ OPC_MoveChild1,
10455/* 20033*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10456/* 20036*/ OPC_MoveParent,
10457/* 20037*/ OPC_MoveChild2,
10458/* 20038*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10459/* 20041*/ OPC_RecordChild0, // #2 = $val
10460/* 20042*/ OPC_MoveParent,
10461/* 20043*/ OPC_Scope, 63, /*->20108*/ // 2 children in Scope
10462/* 20045*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
10463/* 20047*/ OPC_MoveParent,
10464/* 20048*/ OPC_Scope, 28, /*->20078*/ // 2 children in Scope
10465/* 20050*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10466/* 20052*/ OPC_EmitMergeInputChains1_0,
10467/* 20053*/ OPC_EmitInteger, MVT::i32, 0,
10468/* 20056*/ OPC_EmitConvertToTarget, 1,
10469/* 20058*/ OPC_EmitInteger, MVT::i32, 0,
10470/* 20061*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10471 MVT::i32, 1/*#Ops*/, 5, // Results = #6
10472/* 20068*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10473 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
10474 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 13
10475 // Dst: (ATOMIC_RMW8_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10476/* 20078*/ /*Scope*/ 28, /*->20107*/
10477/* 20079*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10478/* 20081*/ OPC_EmitMergeInputChains1_0,
10479/* 20082*/ OPC_EmitInteger, MVT::i32, 0,
10480/* 20085*/ OPC_EmitConvertToTarget, 1,
10481/* 20087*/ OPC_EmitInteger, MVT::i64, 0,
10482/* 20090*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
10483 MVT::i64, 1/*#Ops*/, 5, // Results = #6
10484/* 20097*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10485 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
10486 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 13
10487 // Dst: (ATOMIC_RMW8_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
10488/* 20107*/ 0, /*End of Scope*/
10489/* 20108*/ /*Scope*/ 63, /*->20172*/
10490/* 20109*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
10491/* 20111*/ OPC_MoveParent,
10492/* 20112*/ OPC_Scope, 28, /*->20142*/ // 2 children in Scope
10493/* 20114*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10494/* 20116*/ OPC_EmitMergeInputChains1_0,
10495/* 20117*/ OPC_EmitInteger, MVT::i32, 0,
10496/* 20120*/ OPC_EmitConvertToTarget, 1,
10497/* 20122*/ OPC_EmitInteger, MVT::i32, 0,
10498/* 20125*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10499 MVT::i32, 1/*#Ops*/, 5, // Results = #6
10500/* 20132*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10501 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
10502 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 13
10503 // Dst: (ATOMIC_RMW16_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10504/* 20142*/ /*Scope*/ 28, /*->20171*/
10505/* 20143*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10506/* 20145*/ OPC_EmitMergeInputChains1_0,
10507/* 20146*/ OPC_EmitInteger, MVT::i32, 0,
10508/* 20149*/ OPC_EmitConvertToTarget, 1,
10509/* 20151*/ OPC_EmitInteger, MVT::i64, 0,
10510/* 20154*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
10511 MVT::i64, 1/*#Ops*/, 5, // Results = #6
10512/* 20161*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10513 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
10514 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 13
10515 // Dst: (ATOMIC_RMW16_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
10516/* 20171*/ 0, /*End of Scope*/
10517/* 20172*/ 0, /*End of Scope*/
10518/* 20173*/ /*Scope*/ 56, /*->20230*/
10519/* 20174*/ OPC_CheckChild1Type, MVT::i32,
10520/* 20176*/ OPC_MoveChild2,
10521/* 20177*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10522/* 20180*/ OPC_RecordChild0, // #2 = $val
10523/* 20181*/ OPC_MoveParent,
10524/* 20182*/ OPC_Scope, 22, /*->20206*/ // 2 children in Scope
10525/* 20184*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
10526/* 20186*/ OPC_MoveParent,
10527/* 20187*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10528/* 20189*/ OPC_EmitMergeInputChains1_0,
10529/* 20190*/ OPC_EmitInteger, MVT::i32, 0,
10530/* 20193*/ OPC_EmitInteger, MVT::i32, 0,
10531/* 20196*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10532 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
10533 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 10
10534 // Dst: (ATOMIC_RMW8_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10535/* 20206*/ /*Scope*/ 22, /*->20229*/
10536/* 20207*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
10537/* 20209*/ OPC_MoveParent,
10538/* 20210*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10539/* 20212*/ OPC_EmitMergeInputChains1_0,
10540/* 20213*/ OPC_EmitInteger, MVT::i32, 0,
10541/* 20216*/ OPC_EmitInteger, MVT::i32, 0,
10542/* 20219*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10543 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
10544 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 10
10545 // Dst: (ATOMIC_RMW16_U_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10546/* 20229*/ 0, /*End of Scope*/
10547/* 20230*/ /*Scope*/ 56, /*->20287*/
10548/* 20231*/ OPC_CheckChild1Type, MVT::i64,
10549/* 20233*/ OPC_MoveChild2,
10550/* 20234*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10551/* 20237*/ OPC_RecordChild0, // #2 = $val
10552/* 20238*/ OPC_MoveParent,
10553/* 20239*/ OPC_Scope, 22, /*->20263*/ // 2 children in Scope
10554/* 20241*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
10555/* 20243*/ OPC_MoveParent,
10556/* 20244*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10557/* 20246*/ OPC_EmitMergeInputChains1_0,
10558/* 20247*/ OPC_EmitInteger, MVT::i32, 0,
10559/* 20250*/ OPC_EmitInteger, MVT::i64, 0,
10560/* 20253*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10561 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
10562 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 10
10563 // Dst: (ATOMIC_RMW8_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10564/* 20263*/ /*Scope*/ 22, /*->20286*/
10565/* 20264*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
10566/* 20266*/ OPC_MoveParent,
10567/* 20267*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10568/* 20269*/ OPC_EmitMergeInputChains1_0,
10569/* 20270*/ OPC_EmitInteger, MVT::i32, 0,
10570/* 20273*/ OPC_EmitInteger, MVT::i64, 0,
10571/* 20276*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10572 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
10573 // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 10
10574 // Dst: (ATOMIC_RMW16_U_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10575/* 20286*/ 0, /*End of Scope*/
10576/* 20287*/ 0, /*End of Scope*/
10577/* 20288*/ 0, /*End of Scope*/
10578/* 20289*/ /*SwitchOpcode*/ 18|128,5/*658*/, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),// ->20951
10579/* 20293*/ OPC_RecordMemRef,
10580/* 20294*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
10581/* 20295*/ OPC_Scope, 6|128,3/*390*/, /*->20688*/ // 2 children in Scope
10582/* 20298*/ OPC_MoveChild1,
10583/* 20299*/ OPC_SwitchOpcode /*3 cases */, 121, TARGET_VAL(ISD::ADD),// ->20424
10584/* 20303*/ OPC_RecordChild0, // #1 = $addr
10585/* 20304*/ OPC_RecordChild1, // #2 = $off
10586/* 20305*/ OPC_MoveChild1,
10587/* 20306*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10588/* 20309*/ OPC_MoveParent,
10589/* 20310*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
10590/* 20312*/ OPC_SwitchType /*2 cases */, 53, MVT::i32,// ->20368
10591/* 20315*/ OPC_MoveParent,
10592/* 20316*/ OPC_MoveChild2,
10593/* 20317*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10594/* 20320*/ OPC_RecordChild0, // #3 = $val
10595/* 20321*/ OPC_MoveParent,
10596/* 20322*/ OPC_Scope, 21, /*->20345*/ // 2 children in Scope
10597/* 20324*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
10598/* 20326*/ OPC_MoveParent,
10599/* 20327*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10600/* 20329*/ OPC_EmitMergeInputChains1_0,
10601/* 20330*/ OPC_EmitInteger, MVT::i32, 0,
10602/* 20333*/ OPC_EmitConvertToTarget, 2,
10603/* 20335*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10604 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10605 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 17
10606 // Dst: (ATOMIC_RMW8_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10607/* 20345*/ /*Scope*/ 21, /*->20367*/
10608/* 20346*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
10609/* 20348*/ OPC_MoveParent,
10610/* 20349*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10611/* 20351*/ OPC_EmitMergeInputChains1_0,
10612/* 20352*/ OPC_EmitInteger, MVT::i32, 0,
10613/* 20355*/ OPC_EmitConvertToTarget, 2,
10614/* 20357*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10615 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10616 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 17
10617 // Dst: (ATOMIC_RMW16_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10618/* 20367*/ 0, /*End of Scope*/
10619/* 20368*/ /*SwitchType*/ 53, MVT::i64,// ->20423
10620/* 20370*/ OPC_MoveParent,
10621/* 20371*/ OPC_MoveChild2,
10622/* 20372*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10623/* 20375*/ OPC_RecordChild0, // #3 = $val
10624/* 20376*/ OPC_MoveParent,
10625/* 20377*/ OPC_Scope, 21, /*->20400*/ // 2 children in Scope
10626/* 20379*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
10627/* 20381*/ OPC_MoveParent,
10628/* 20382*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10629/* 20384*/ OPC_EmitMergeInputChains1_0,
10630/* 20385*/ OPC_EmitInteger, MVT::i32, 0,
10631/* 20388*/ OPC_EmitConvertToTarget, 2,
10632/* 20390*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10633 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10634 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 17
10635 // Dst: (ATOMIC_RMW8_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10636/* 20400*/ /*Scope*/ 21, /*->20422*/
10637/* 20401*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
10638/* 20403*/ OPC_MoveParent,
10639/* 20404*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10640/* 20406*/ OPC_EmitMergeInputChains1_0,
10641/* 20407*/ OPC_EmitInteger, MVT::i32, 0,
10642/* 20410*/ OPC_EmitConvertToTarget, 2,
10643/* 20412*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10644 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10645 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 17
10646 // Dst: (ATOMIC_RMW16_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10647/* 20422*/ 0, /*End of Scope*/
10648/* 20423*/ 0, // EndSwitchType
10649/* 20424*/ /*SwitchOpcode*/ 121, TARGET_VAL(ISD::OR),// ->20548
10650/* 20427*/ OPC_RecordChild0, // #1 = $addr
10651/* 20428*/ OPC_RecordChild1, // #2 = $off
10652/* 20429*/ OPC_MoveChild1,
10653/* 20430*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10654/* 20433*/ OPC_MoveParent,
10655/* 20434*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
10656/* 20436*/ OPC_SwitchType /*2 cases */, 53, MVT::i32,// ->20492
10657/* 20439*/ OPC_MoveParent,
10658/* 20440*/ OPC_MoveChild2,
10659/* 20441*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10660/* 20444*/ OPC_RecordChild0, // #3 = $val
10661/* 20445*/ OPC_MoveParent,
10662/* 20446*/ OPC_Scope, 21, /*->20469*/ // 2 children in Scope
10663/* 20448*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
10664/* 20450*/ OPC_MoveParent,
10665/* 20451*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10666/* 20453*/ OPC_EmitMergeInputChains1_0,
10667/* 20454*/ OPC_EmitInteger, MVT::i32, 0,
10668/* 20457*/ OPC_EmitConvertToTarget, 2,
10669/* 20459*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10670 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10671 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 17
10672 // Dst: (ATOMIC_RMW8_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10673/* 20469*/ /*Scope*/ 21, /*->20491*/
10674/* 20470*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
10675/* 20472*/ OPC_MoveParent,
10676/* 20473*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10677/* 20475*/ OPC_EmitMergeInputChains1_0,
10678/* 20476*/ OPC_EmitInteger, MVT::i32, 0,
10679/* 20479*/ OPC_EmitConvertToTarget, 2,
10680/* 20481*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10681 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10682 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 17
10683 // Dst: (ATOMIC_RMW16_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10684/* 20491*/ 0, /*End of Scope*/
10685/* 20492*/ /*SwitchType*/ 53, MVT::i64,// ->20547
10686/* 20494*/ OPC_MoveParent,
10687/* 20495*/ OPC_MoveChild2,
10688/* 20496*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10689/* 20499*/ OPC_RecordChild0, // #3 = $val
10690/* 20500*/ OPC_MoveParent,
10691/* 20501*/ OPC_Scope, 21, /*->20524*/ // 2 children in Scope
10692/* 20503*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
10693/* 20505*/ OPC_MoveParent,
10694/* 20506*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10695/* 20508*/ OPC_EmitMergeInputChains1_0,
10696/* 20509*/ OPC_EmitInteger, MVT::i32, 0,
10697/* 20512*/ OPC_EmitConvertToTarget, 2,
10698/* 20514*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10699 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10700 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 17
10701 // Dst: (ATOMIC_RMW8_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10702/* 20524*/ /*Scope*/ 21, /*->20546*/
10703/* 20525*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
10704/* 20527*/ OPC_MoveParent,
10705/* 20528*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10706/* 20530*/ OPC_EmitMergeInputChains1_0,
10707/* 20531*/ OPC_EmitInteger, MVT::i32, 0,
10708/* 20534*/ OPC_EmitConvertToTarget, 2,
10709/* 20536*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10710 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10711 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 17
10712 // Dst: (ATOMIC_RMW16_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10713/* 20546*/ 0, /*End of Scope*/
10714/* 20547*/ 0, // EndSwitchType
10715/* 20548*/ /*SwitchOpcode*/ 7|128,1/*135*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->20687
10716/* 20552*/ OPC_RecordChild0, // #1 = $off
10717/* 20553*/ OPC_MoveChild0,
10718/* 20554*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
10719/* 20557*/ OPC_MoveParent,
10720/* 20558*/ OPC_MoveParent,
10721/* 20559*/ OPC_MoveChild2,
10722/* 20560*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10723/* 20563*/ OPC_RecordChild0, // #2 = $val
10724/* 20564*/ OPC_MoveParent,
10725/* 20565*/ OPC_Scope, 59, /*->20626*/ // 2 children in Scope
10726/* 20567*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
10727/* 20569*/ OPC_MoveParent,
10728/* 20570*/ OPC_Scope, 26, /*->20598*/ // 2 children in Scope
10729/* 20572*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
10730/* 20574*/ OPC_EmitMergeInputChains1_0,
10731/* 20575*/ OPC_EmitInteger, MVT::i32, 0,
10732/* 20578*/ OPC_EmitInteger, MVT::i32, 0,
10733/* 20581*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10734 MVT::i32, 1/*#Ops*/, 4, // Results = #5
10735/* 20588*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10736 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10737 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 16
10738 // Dst: (ATOMIC_RMW8_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10739/* 20598*/ /*Scope*/ 26, /*->20625*/
10740/* 20599*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
10741/* 20601*/ OPC_EmitMergeInputChains1_0,
10742/* 20602*/ OPC_EmitInteger, MVT::i32, 0,
10743/* 20605*/ OPC_EmitInteger, MVT::i64, 0,
10744/* 20608*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
10745 MVT::i64, 1/*#Ops*/, 4, // Results = #5
10746/* 20615*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10747 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10748 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 16
10749 // Dst: (ATOMIC_RMW8_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
10750/* 20625*/ 0, /*End of Scope*/
10751/* 20626*/ /*Scope*/ 59, /*->20686*/
10752/* 20627*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
10753/* 20629*/ OPC_MoveParent,
10754/* 20630*/ OPC_Scope, 26, /*->20658*/ // 2 children in Scope
10755/* 20632*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
10756/* 20634*/ OPC_EmitMergeInputChains1_0,
10757/* 20635*/ OPC_EmitInteger, MVT::i32, 0,
10758/* 20638*/ OPC_EmitInteger, MVT::i32, 0,
10759/* 20641*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10760 MVT::i32, 1/*#Ops*/, 4, // Results = #5
10761/* 20648*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10762 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10763 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 16
10764 // Dst: (ATOMIC_RMW16_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10765/* 20658*/ /*Scope*/ 26, /*->20685*/
10766/* 20659*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
10767/* 20661*/ OPC_EmitMergeInputChains1_0,
10768/* 20662*/ OPC_EmitInteger, MVT::i32, 0,
10769/* 20665*/ OPC_EmitInteger, MVT::i64, 0,
10770/* 20668*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
10771 MVT::i64, 1/*#Ops*/, 4, // Results = #5
10772/* 20675*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10773 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10774 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 16
10775 // Dst: (ATOMIC_RMW16_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
10776/* 20685*/ 0, /*End of Scope*/
10777/* 20686*/ 0, /*End of Scope*/
10778/* 20687*/ 0, // EndSwitchOpcode
10779/* 20688*/ /*Scope*/ 4|128,2/*260*/, /*->20950*/
10780/* 20690*/ OPC_RecordChild1, // #1 = $off
10781/* 20691*/ OPC_Scope, 13|128,1/*141*/, /*->20835*/ // 3 children in Scope
10782/* 20694*/ OPC_MoveChild1,
10783/* 20695*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10784/* 20698*/ OPC_MoveParent,
10785/* 20699*/ OPC_MoveChild2,
10786/* 20700*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10787/* 20703*/ OPC_RecordChild0, // #2 = $val
10788/* 20704*/ OPC_MoveParent,
10789/* 20705*/ OPC_Scope, 63, /*->20770*/ // 2 children in Scope
10790/* 20707*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
10791/* 20709*/ OPC_MoveParent,
10792/* 20710*/ OPC_Scope, 28, /*->20740*/ // 2 children in Scope
10793/* 20712*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10794/* 20714*/ OPC_EmitMergeInputChains1_0,
10795/* 20715*/ OPC_EmitInteger, MVT::i32, 0,
10796/* 20718*/ OPC_EmitConvertToTarget, 1,
10797/* 20720*/ OPC_EmitInteger, MVT::i32, 0,
10798/* 20723*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10799 MVT::i32, 1/*#Ops*/, 5, // Results = #6
10800/* 20730*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10801 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
10802 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 13
10803 // Dst: (ATOMIC_RMW8_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10804/* 20740*/ /*Scope*/ 28, /*->20769*/
10805/* 20741*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10806/* 20743*/ OPC_EmitMergeInputChains1_0,
10807/* 20744*/ OPC_EmitInteger, MVT::i32, 0,
10808/* 20747*/ OPC_EmitConvertToTarget, 1,
10809/* 20749*/ OPC_EmitInteger, MVT::i64, 0,
10810/* 20752*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
10811 MVT::i64, 1/*#Ops*/, 5, // Results = #6
10812/* 20759*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10813 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
10814 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 13
10815 // Dst: (ATOMIC_RMW8_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
10816/* 20769*/ 0, /*End of Scope*/
10817/* 20770*/ /*Scope*/ 63, /*->20834*/
10818/* 20771*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
10819/* 20773*/ OPC_MoveParent,
10820/* 20774*/ OPC_Scope, 28, /*->20804*/ // 2 children in Scope
10821/* 20776*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10822/* 20778*/ OPC_EmitMergeInputChains1_0,
10823/* 20779*/ OPC_EmitInteger, MVT::i32, 0,
10824/* 20782*/ OPC_EmitConvertToTarget, 1,
10825/* 20784*/ OPC_EmitInteger, MVT::i32, 0,
10826/* 20787*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10827 MVT::i32, 1/*#Ops*/, 5, // Results = #6
10828/* 20794*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10829 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
10830 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 13
10831 // Dst: (ATOMIC_RMW16_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10832/* 20804*/ /*Scope*/ 28, /*->20833*/
10833/* 20805*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10834/* 20807*/ OPC_EmitMergeInputChains1_0,
10835/* 20808*/ OPC_EmitInteger, MVT::i32, 0,
10836/* 20811*/ OPC_EmitConvertToTarget, 1,
10837/* 20813*/ OPC_EmitInteger, MVT::i64, 0,
10838/* 20816*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
10839 MVT::i64, 1/*#Ops*/, 5, // Results = #6
10840/* 20823*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10841 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
10842 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 13
10843 // Dst: (ATOMIC_RMW16_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
10844/* 20833*/ 0, /*End of Scope*/
10845/* 20834*/ 0, /*End of Scope*/
10846/* 20835*/ /*Scope*/ 56, /*->20892*/
10847/* 20836*/ OPC_CheckChild1Type, MVT::i32,
10848/* 20838*/ OPC_MoveChild2,
10849/* 20839*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10850/* 20842*/ OPC_RecordChild0, // #2 = $val
10851/* 20843*/ OPC_MoveParent,
10852/* 20844*/ OPC_Scope, 22, /*->20868*/ // 2 children in Scope
10853/* 20846*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
10854/* 20848*/ OPC_MoveParent,
10855/* 20849*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10856/* 20851*/ OPC_EmitMergeInputChains1_0,
10857/* 20852*/ OPC_EmitInteger, MVT::i32, 0,
10858/* 20855*/ OPC_EmitInteger, MVT::i32, 0,
10859/* 20858*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10860 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
10861 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 10
10862 // Dst: (ATOMIC_RMW8_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10863/* 20868*/ /*Scope*/ 22, /*->20891*/
10864/* 20869*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
10865/* 20871*/ OPC_MoveParent,
10866/* 20872*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10867/* 20874*/ OPC_EmitMergeInputChains1_0,
10868/* 20875*/ OPC_EmitInteger, MVT::i32, 0,
10869/* 20878*/ OPC_EmitInteger, MVT::i32, 0,
10870/* 20881*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10871 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
10872 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 10
10873 // Dst: (ATOMIC_RMW16_U_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10874/* 20891*/ 0, /*End of Scope*/
10875/* 20892*/ /*Scope*/ 56, /*->20949*/
10876/* 20893*/ OPC_CheckChild1Type, MVT::i64,
10877/* 20895*/ OPC_MoveChild2,
10878/* 20896*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10879/* 20899*/ OPC_RecordChild0, // #2 = $val
10880/* 20900*/ OPC_MoveParent,
10881/* 20901*/ OPC_Scope, 22, /*->20925*/ // 2 children in Scope
10882/* 20903*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
10883/* 20905*/ OPC_MoveParent,
10884/* 20906*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10885/* 20908*/ OPC_EmitMergeInputChains1_0,
10886/* 20909*/ OPC_EmitInteger, MVT::i32, 0,
10887/* 20912*/ OPC_EmitInteger, MVT::i64, 0,
10888/* 20915*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10889 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
10890 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 10
10891 // Dst: (ATOMIC_RMW8_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10892/* 20925*/ /*Scope*/ 22, /*->20948*/
10893/* 20926*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
10894/* 20928*/ OPC_MoveParent,
10895/* 20929*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10896/* 20931*/ OPC_EmitMergeInputChains1_0,
10897/* 20932*/ OPC_EmitInteger, MVT::i32, 0,
10898/* 20935*/ OPC_EmitInteger, MVT::i64, 0,
10899/* 20938*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10900 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
10901 // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 10
10902 // Dst: (ATOMIC_RMW16_U_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10903/* 20948*/ 0, /*End of Scope*/
10904/* 20949*/ 0, /*End of Scope*/
10905/* 20950*/ 0, /*End of Scope*/
10906/* 20951*/ /*SwitchOpcode*/ 18|128,5/*658*/, TARGET_VAL(ISD::ATOMIC_SWAP),// ->21613
10907/* 20955*/ OPC_RecordMemRef,
10908/* 20956*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
10909/* 20957*/ OPC_Scope, 6|128,3/*390*/, /*->21350*/ // 2 children in Scope
10910/* 20960*/ OPC_MoveChild1,
10911/* 20961*/ OPC_SwitchOpcode /*3 cases */, 121, TARGET_VAL(ISD::ADD),// ->21086
10912/* 20965*/ OPC_RecordChild0, // #1 = $addr
10913/* 20966*/ OPC_RecordChild1, // #2 = $off
10914/* 20967*/ OPC_MoveChild1,
10915/* 20968*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10916/* 20971*/ OPC_MoveParent,
10917/* 20972*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
10918/* 20974*/ OPC_SwitchType /*2 cases */, 53, MVT::i32,// ->21030
10919/* 20977*/ OPC_MoveParent,
10920/* 20978*/ OPC_MoveChild2,
10921/* 20979*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10922/* 20982*/ OPC_RecordChild0, // #3 = $val
10923/* 20983*/ OPC_MoveParent,
10924/* 20984*/ OPC_Scope, 21, /*->21007*/ // 2 children in Scope
10925/* 20986*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
10926/* 20988*/ OPC_MoveParent,
10927/* 20989*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10928/* 20991*/ OPC_EmitMergeInputChains1_0,
10929/* 20992*/ OPC_EmitInteger, MVT::i32, 0,
10930/* 20995*/ OPC_EmitConvertToTarget, 2,
10931/* 20997*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10932 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10933 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 17
10934 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10935/* 21007*/ /*Scope*/ 21, /*->21029*/
10936/* 21008*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
10937/* 21010*/ OPC_MoveParent,
10938/* 21011*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10939/* 21013*/ OPC_EmitMergeInputChains1_0,
10940/* 21014*/ OPC_EmitInteger, MVT::i32, 0,
10941/* 21017*/ OPC_EmitConvertToTarget, 2,
10942/* 21019*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10943 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10944 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 17
10945 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10946/* 21029*/ 0, /*End of Scope*/
10947/* 21030*/ /*SwitchType*/ 53, MVT::i64,// ->21085
10948/* 21032*/ OPC_MoveParent,
10949/* 21033*/ OPC_MoveChild2,
10950/* 21034*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10951/* 21037*/ OPC_RecordChild0, // #3 = $val
10952/* 21038*/ OPC_MoveParent,
10953/* 21039*/ OPC_Scope, 21, /*->21062*/ // 2 children in Scope
10954/* 21041*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
10955/* 21043*/ OPC_MoveParent,
10956/* 21044*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10957/* 21046*/ OPC_EmitMergeInputChains1_0,
10958/* 21047*/ OPC_EmitInteger, MVT::i32, 0,
10959/* 21050*/ OPC_EmitConvertToTarget, 2,
10960/* 21052*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10961 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10962 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 17
10963 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10964/* 21062*/ /*Scope*/ 21, /*->21084*/
10965/* 21063*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
10966/* 21065*/ OPC_MoveParent,
10967/* 21066*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10968/* 21068*/ OPC_EmitMergeInputChains1_0,
10969/* 21069*/ OPC_EmitInteger, MVT::i32, 0,
10970/* 21072*/ OPC_EmitConvertToTarget, 2,
10971/* 21074*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10972 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10973 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 17
10974 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
10975/* 21084*/ 0, /*End of Scope*/
10976/* 21085*/ 0, // EndSwitchType
10977/* 21086*/ /*SwitchOpcode*/ 121, TARGET_VAL(ISD::OR),// ->21210
10978/* 21089*/ OPC_RecordChild0, // #1 = $addr
10979/* 21090*/ OPC_RecordChild1, // #2 = $off
10980/* 21091*/ OPC_MoveChild1,
10981/* 21092*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10982/* 21095*/ OPC_MoveParent,
10983/* 21096*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
10984/* 21098*/ OPC_SwitchType /*2 cases */, 53, MVT::i32,// ->21154
10985/* 21101*/ OPC_MoveParent,
10986/* 21102*/ OPC_MoveChild2,
10987/* 21103*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10988/* 21106*/ OPC_RecordChild0, // #3 = $val
10989/* 21107*/ OPC_MoveParent,
10990/* 21108*/ OPC_Scope, 21, /*->21131*/ // 2 children in Scope
10991/* 21110*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
10992/* 21112*/ OPC_MoveParent,
10993/* 21113*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
10994/* 21115*/ OPC_EmitMergeInputChains1_0,
10995/* 21116*/ OPC_EmitInteger, MVT::i32, 0,
10996/* 21119*/ OPC_EmitConvertToTarget, 2,
10997/* 21121*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10998 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10999 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 17
11000 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
11001/* 21131*/ /*Scope*/ 21, /*->21153*/
11002/* 21132*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
11003/* 21134*/ OPC_MoveParent,
11004/* 21135*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
11005/* 21137*/ OPC_EmitMergeInputChains1_0,
11006/* 21138*/ OPC_EmitInteger, MVT::i32, 0,
11007/* 21141*/ OPC_EmitConvertToTarget, 2,
11008/* 21143*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11009 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
11010 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 17
11011 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
11012/* 21153*/ 0, /*End of Scope*/
11013/* 21154*/ /*SwitchType*/ 53, MVT::i64,// ->21209
11014/* 21156*/ OPC_MoveParent,
11015/* 21157*/ OPC_MoveChild2,
11016/* 21158*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11017/* 21161*/ OPC_RecordChild0, // #3 = $val
11018/* 21162*/ OPC_MoveParent,
11019/* 21163*/ OPC_Scope, 21, /*->21186*/ // 2 children in Scope
11020/* 21165*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
11021/* 21167*/ OPC_MoveParent,
11022/* 21168*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
11023/* 21170*/ OPC_EmitMergeInputChains1_0,
11024/* 21171*/ OPC_EmitInteger, MVT::i32, 0,
11025/* 21174*/ OPC_EmitConvertToTarget, 2,
11026/* 21176*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11027 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
11028 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 17
11029 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
11030/* 21186*/ /*Scope*/ 21, /*->21208*/
11031/* 21187*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
11032/* 21189*/ OPC_MoveParent,
11033/* 21190*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
11034/* 21192*/ OPC_EmitMergeInputChains1_0,
11035/* 21193*/ OPC_EmitInteger, MVT::i32, 0,
11036/* 21196*/ OPC_EmitConvertToTarget, 2,
11037/* 21198*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11038 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
11039 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 17
11040 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
11041/* 21208*/ 0, /*End of Scope*/
11042/* 21209*/ 0, // EndSwitchType
11043/* 21210*/ /*SwitchOpcode*/ 7|128,1/*135*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->21349
11044/* 21214*/ OPC_RecordChild0, // #1 = $off
11045/* 21215*/ OPC_MoveChild0,
11046/* 21216*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
11047/* 21219*/ OPC_MoveParent,
11048/* 21220*/ OPC_MoveParent,
11049/* 21221*/ OPC_MoveChild2,
11050/* 21222*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11051/* 21225*/ OPC_RecordChild0, // #2 = $val
11052/* 21226*/ OPC_MoveParent,
11053/* 21227*/ OPC_Scope, 59, /*->21288*/ // 2 children in Scope
11054/* 21229*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
11055/* 21231*/ OPC_MoveParent,
11056/* 21232*/ OPC_Scope, 26, /*->21260*/ // 2 children in Scope
11057/* 21234*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
11058/* 21236*/ OPC_EmitMergeInputChains1_0,
11059/* 21237*/ OPC_EmitInteger, MVT::i32, 0,
11060/* 21240*/ OPC_EmitInteger, MVT::i32, 0,
11061/* 21243*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11062 MVT::i32, 1/*#Ops*/, 4, // Results = #5
11063/* 21250*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11064 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
11065 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 16
11066 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
11067/* 21260*/ /*Scope*/ 26, /*->21287*/
11068/* 21261*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
11069/* 21263*/ OPC_EmitMergeInputChains1_0,
11070/* 21264*/ OPC_EmitInteger, MVT::i32, 0,
11071/* 21267*/ OPC_EmitInteger, MVT::i64, 0,
11072/* 21270*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
11073 MVT::i64, 1/*#Ops*/, 4, // Results = #5
11074/* 21277*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11075 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
11076 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 16
11077 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
11078/* 21287*/ 0, /*End of Scope*/
11079/* 21288*/ /*Scope*/ 59, /*->21348*/
11080/* 21289*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
11081/* 21291*/ OPC_MoveParent,
11082/* 21292*/ OPC_Scope, 26, /*->21320*/ // 2 children in Scope
11083/* 21294*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
11084/* 21296*/ OPC_EmitMergeInputChains1_0,
11085/* 21297*/ OPC_EmitInteger, MVT::i32, 0,
11086/* 21300*/ OPC_EmitInteger, MVT::i32, 0,
11087/* 21303*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11088 MVT::i32, 1/*#Ops*/, 4, // Results = #5
11089/* 21310*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11090 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
11091 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 16
11092 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
11093/* 21320*/ /*Scope*/ 26, /*->21347*/
11094/* 21321*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
11095/* 21323*/ OPC_EmitMergeInputChains1_0,
11096/* 21324*/ OPC_EmitInteger, MVT::i32, 0,
11097/* 21327*/ OPC_EmitInteger, MVT::i64, 0,
11098/* 21330*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
11099 MVT::i64, 1/*#Ops*/, 4, // Results = #5
11100/* 21337*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11101 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
11102 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 16
11103 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
11104/* 21347*/ 0, /*End of Scope*/
11105/* 21348*/ 0, /*End of Scope*/
11106/* 21349*/ 0, // EndSwitchOpcode
11107/* 21350*/ /*Scope*/ 4|128,2/*260*/, /*->21612*/
11108/* 21352*/ OPC_RecordChild1, // #1 = $off
11109/* 21353*/ OPC_Scope, 13|128,1/*141*/, /*->21497*/ // 3 children in Scope
11110/* 21356*/ OPC_MoveChild1,
11111/* 21357*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11112/* 21360*/ OPC_MoveParent,
11113/* 21361*/ OPC_MoveChild2,
11114/* 21362*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11115/* 21365*/ OPC_RecordChild0, // #2 = $val
11116/* 21366*/ OPC_MoveParent,
11117/* 21367*/ OPC_Scope, 63, /*->21432*/ // 2 children in Scope
11118/* 21369*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
11119/* 21371*/ OPC_MoveParent,
11120/* 21372*/ OPC_Scope, 28, /*->21402*/ // 2 children in Scope
11121/* 21374*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
11122/* 21376*/ OPC_EmitMergeInputChains1_0,
11123/* 21377*/ OPC_EmitInteger, MVT::i32, 0,
11124/* 21380*/ OPC_EmitConvertToTarget, 1,
11125/* 21382*/ OPC_EmitInteger, MVT::i32, 0,
11126/* 21385*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11127 MVT::i32, 1/*#Ops*/, 5, // Results = #6
11128/* 21392*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11129 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
11130 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 13
11131 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
11132/* 21402*/ /*Scope*/ 28, /*->21431*/
11133/* 21403*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
11134/* 21405*/ OPC_EmitMergeInputChains1_0,
11135/* 21406*/ OPC_EmitInteger, MVT::i32, 0,
11136/* 21409*/ OPC_EmitConvertToTarget, 1,
11137/* 21411*/ OPC_EmitInteger, MVT::i64, 0,
11138/* 21414*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
11139 MVT::i64, 1/*#Ops*/, 5, // Results = #6
11140/* 21421*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11141 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
11142 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 13
11143 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
11144/* 21431*/ 0, /*End of Scope*/
11145/* 21432*/ /*Scope*/ 63, /*->21496*/
11146/* 21433*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
11147/* 21435*/ OPC_MoveParent,
11148/* 21436*/ OPC_Scope, 28, /*->21466*/ // 2 children in Scope
11149/* 21438*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
11150/* 21440*/ OPC_EmitMergeInputChains1_0,
11151/* 21441*/ OPC_EmitInteger, MVT::i32, 0,
11152/* 21444*/ OPC_EmitConvertToTarget, 1,
11153/* 21446*/ OPC_EmitInteger, MVT::i32, 0,
11154/* 21449*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11155 MVT::i32, 1/*#Ops*/, 5, // Results = #6
11156/* 21456*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11157 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
11158 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 13
11159 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
11160/* 21466*/ /*Scope*/ 28, /*->21495*/
11161/* 21467*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
11162/* 21469*/ OPC_EmitMergeInputChains1_0,
11163/* 21470*/ OPC_EmitInteger, MVT::i32, 0,
11164/* 21473*/ OPC_EmitConvertToTarget, 1,
11165/* 21475*/ OPC_EmitInteger, MVT::i64, 0,
11166/* 21478*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
11167 MVT::i64, 1/*#Ops*/, 5, // Results = #6
11168/* 21485*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11169 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
11170 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 13
11171 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
11172/* 21495*/ 0, /*End of Scope*/
11173/* 21496*/ 0, /*End of Scope*/
11174/* 21497*/ /*Scope*/ 56, /*->21554*/
11175/* 21498*/ OPC_CheckChild1Type, MVT::i32,
11176/* 21500*/ OPC_MoveChild2,
11177/* 21501*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11178/* 21504*/ OPC_RecordChild0, // #2 = $val
11179/* 21505*/ OPC_MoveParent,
11180/* 21506*/ OPC_Scope, 22, /*->21530*/ // 2 children in Scope
11181/* 21508*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
11182/* 21510*/ OPC_MoveParent,
11183/* 21511*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
11184/* 21513*/ OPC_EmitMergeInputChains1_0,
11185/* 21514*/ OPC_EmitInteger, MVT::i32, 0,
11186/* 21517*/ OPC_EmitInteger, MVT::i32, 0,
11187/* 21520*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11188 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
11189 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 10
11190 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
11191/* 21530*/ /*Scope*/ 22, /*->21553*/
11192/* 21531*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
11193/* 21533*/ OPC_MoveParent,
11194/* 21534*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
11195/* 21536*/ OPC_EmitMergeInputChains1_0,
11196/* 21537*/ OPC_EmitInteger, MVT::i32, 0,
11197/* 21540*/ OPC_EmitInteger, MVT::i32, 0,
11198/* 21543*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11199 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
11200 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 10
11201 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
11202/* 21553*/ 0, /*End of Scope*/
11203/* 21554*/ /*Scope*/ 56, /*->21611*/
11204/* 21555*/ OPC_CheckChild1Type, MVT::i64,
11205/* 21557*/ OPC_MoveChild2,
11206/* 21558*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11207/* 21561*/ OPC_RecordChild0, // #2 = $val
11208/* 21562*/ OPC_MoveParent,
11209/* 21563*/ OPC_Scope, 22, /*->21587*/ // 2 children in Scope
11210/* 21565*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
11211/* 21567*/ OPC_MoveParent,
11212/* 21568*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
11213/* 21570*/ OPC_EmitMergeInputChains1_0,
11214/* 21571*/ OPC_EmitInteger, MVT::i32, 0,
11215/* 21574*/ OPC_EmitInteger, MVT::i64, 0,
11216/* 21577*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11217 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
11218 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 10
11219 // Dst: (ATOMIC_RMW8_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
11220/* 21587*/ /*Scope*/ 22, /*->21610*/
11221/* 21588*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
11222/* 21590*/ OPC_MoveParent,
11223/* 21591*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
11224/* 21593*/ OPC_EmitMergeInputChains1_0,
11225/* 21594*/ OPC_EmitInteger, MVT::i32, 0,
11226/* 21597*/ OPC_EmitInteger, MVT::i64, 0,
11227/* 21600*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11228 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
11229 // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 10
11230 // Dst: (ATOMIC_RMW16_U_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
11231/* 21610*/ 0, /*End of Scope*/
11232/* 21611*/ 0, /*End of Scope*/
11233/* 21612*/ 0, /*End of Scope*/
11234/* 21613*/ /*SwitchOpcode*/ 77|128,4/*589*/, TARGET_VAL(ISD::ATOMIC_LOAD),// ->22206
11235/* 21617*/ OPC_RecordMemRef,
11236/* 21618*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
11237/* 21619*/ OPC_Scope, 91|128,2/*347*/, /*->21969*/ // 2 children in Scope
11238/* 21622*/ OPC_MoveChild1,
11239/* 21623*/ OPC_SwitchOpcode /*3 cases */, 105, TARGET_VAL(ISD::ADD),// ->21732
11240/* 21627*/ OPC_RecordChild0, // #1 = $addr
11241/* 21628*/ OPC_RecordChild1, // #2 = $off
11242/* 21629*/ OPC_MoveChild1,
11243/* 21630*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11244/* 21633*/ OPC_MoveParent,
11245/* 21634*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
11246/* 21636*/ OPC_SwitchType /*2 cases */, 45, MVT::i32,// ->21684
11247/* 21639*/ OPC_MoveParent,
11248/* 21640*/ OPC_Scope, 20, /*->21662*/ // 2 children in Scope
11249/* 21642*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
11250/* 21644*/ OPC_MoveParent,
11251/* 21645*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
11252/* 21647*/ OPC_EmitMergeInputChains1_0,
11253/* 21648*/ OPC_EmitInteger, MVT::i32, 0,
11254/* 21651*/ OPC_EmitConvertToTarget, 2,
11255/* 21653*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11256 MVT::i64, 3/*#Ops*/, 3, 4, 1,
11257 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_8>>) - Complexity = 14
11258 // Dst: (ATOMIC_LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
11259/* 21662*/ /*Scope*/ 20, /*->21683*/
11260/* 21663*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
11261/* 21665*/ OPC_MoveParent,
11262/* 21666*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
11263/* 21668*/ OPC_EmitMergeInputChains1_0,
11264/* 21669*/ OPC_EmitInteger, MVT::i32, 0,
11265/* 21672*/ OPC_EmitConvertToTarget, 2,
11266/* 21674*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11267 MVT::i64, 3/*#Ops*/, 3, 4, 1,
11268 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_16>>) - Complexity = 14
11269 // Dst: (ATOMIC_LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
11270/* 21683*/ 0, /*End of Scope*/
11271/* 21684*/ /*SwitchType*/ 45, MVT::i64,// ->21731
11272/* 21686*/ OPC_MoveParent,
11273/* 21687*/ OPC_Scope, 20, /*->21709*/ // 2 children in Scope
11274/* 21689*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
11275/* 21691*/ OPC_MoveParent,
11276/* 21692*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
11277/* 21694*/ OPC_EmitMergeInputChains1_0,
11278/* 21695*/ OPC_EmitInteger, MVT::i32, 0,
11279/* 21698*/ OPC_EmitConvertToTarget, 2,
11280/* 21700*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11281 MVT::i64, 3/*#Ops*/, 3, 4, 1,
11282 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_8>>) - Complexity = 14
11283 // Dst: (ATOMIC_LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
11284/* 21709*/ /*Scope*/ 20, /*->21730*/
11285/* 21710*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
11286/* 21712*/ OPC_MoveParent,
11287/* 21713*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
11288/* 21715*/ OPC_EmitMergeInputChains1_0,
11289/* 21716*/ OPC_EmitInteger, MVT::i32, 0,
11290/* 21719*/ OPC_EmitConvertToTarget, 2,
11291/* 21721*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11292 MVT::i64, 3/*#Ops*/, 3, 4, 1,
11293 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_16>>) - Complexity = 14
11294 // Dst: (ATOMIC_LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
11295/* 21730*/ 0, /*End of Scope*/
11296/* 21731*/ 0, // EndSwitchType
11297/* 21732*/ /*SwitchOpcode*/ 105, TARGET_VAL(ISD::OR),// ->21840
11298/* 21735*/ OPC_RecordChild0, // #1 = $addr
11299/* 21736*/ OPC_RecordChild1, // #2 = $off
11300/* 21737*/ OPC_MoveChild1,
11301/* 21738*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11302/* 21741*/ OPC_MoveParent,
11303/* 21742*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
11304/* 21744*/ OPC_SwitchType /*2 cases */, 45, MVT::i32,// ->21792
11305/* 21747*/ OPC_MoveParent,
11306/* 21748*/ OPC_Scope, 20, /*->21770*/ // 2 children in Scope
11307/* 21750*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
11308/* 21752*/ OPC_MoveParent,
11309/* 21753*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
11310/* 21755*/ OPC_EmitMergeInputChains1_0,
11311/* 21756*/ OPC_EmitInteger, MVT::i32, 0,
11312/* 21759*/ OPC_EmitConvertToTarget, 2,
11313/* 21761*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11314 MVT::i64, 3/*#Ops*/, 3, 4, 1,
11315 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_8>>) - Complexity = 14
11316 // Dst: (ATOMIC_LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
11317/* 21770*/ /*Scope*/ 20, /*->21791*/
11318/* 21771*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
11319/* 21773*/ OPC_MoveParent,
11320/* 21774*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
11321/* 21776*/ OPC_EmitMergeInputChains1_0,
11322/* 21777*/ OPC_EmitInteger, MVT::i32, 0,
11323/* 21780*/ OPC_EmitConvertToTarget, 2,
11324/* 21782*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11325 MVT::i64, 3/*#Ops*/, 3, 4, 1,
11326 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_16>>) - Complexity = 14
11327 // Dst: (ATOMIC_LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
11328/* 21791*/ 0, /*End of Scope*/
11329/* 21792*/ /*SwitchType*/ 45, MVT::i64,// ->21839
11330/* 21794*/ OPC_MoveParent,
11331/* 21795*/ OPC_Scope, 20, /*->21817*/ // 2 children in Scope
11332/* 21797*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
11333/* 21799*/ OPC_MoveParent,
11334/* 21800*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
11335/* 21802*/ OPC_EmitMergeInputChains1_0,
11336/* 21803*/ OPC_EmitInteger, MVT::i32, 0,
11337/* 21806*/ OPC_EmitConvertToTarget, 2,
11338/* 21808*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11339 MVT::i64, 3/*#Ops*/, 3, 4, 1,
11340 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_8>>) - Complexity = 14
11341 // Dst: (ATOMIC_LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
11342/* 21817*/ /*Scope*/ 20, /*->21838*/
11343/* 21818*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
11344/* 21820*/ OPC_MoveParent,
11345/* 21821*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
11346/* 21823*/ OPC_EmitMergeInputChains1_0,
11347/* 21824*/ OPC_EmitInteger, MVT::i32, 0,
11348/* 21827*/ OPC_EmitConvertToTarget, 2,
11349/* 21829*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11350 MVT::i64, 3/*#Ops*/, 3, 4, 1,
11351 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_16>>) - Complexity = 14
11352 // Dst: (ATOMIC_LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
11353/* 21838*/ 0, /*End of Scope*/
11354/* 21839*/ 0, // EndSwitchType
11355/* 21840*/ /*SwitchOpcode*/ 125, TARGET_VAL(WebAssemblyISD::Wrapper),// ->21968
11356/* 21843*/ OPC_RecordChild0, // #1 = $off
11357/* 21844*/ OPC_MoveChild0,
11358/* 21845*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
11359/* 21848*/ OPC_MoveParent,
11360/* 21849*/ OPC_MoveParent,
11361/* 21850*/ OPC_Scope, 57, /*->21909*/ // 2 children in Scope
11362/* 21852*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
11363/* 21854*/ OPC_MoveParent,
11364/* 21855*/ OPC_Scope, 25, /*->21882*/ // 2 children in Scope
11365/* 21857*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
11366/* 21859*/ OPC_EmitMergeInputChains1_0,
11367/* 21860*/ OPC_EmitInteger, MVT::i32, 0,
11368/* 21863*/ OPC_EmitInteger, MVT::i32, 0,
11369/* 21866*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11370 MVT::i32, 1/*#Ops*/, 3, // Results = #4
11371/* 21873*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11372 MVT::i64, 3/*#Ops*/, 2, 1, 4,
11373 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>) - Complexity = 13
11374 // Dst: (ATOMIC_LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
11375/* 21882*/ /*Scope*/ 25, /*->21908*/
11376/* 21883*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
11377/* 21885*/ OPC_EmitMergeInputChains1_0,
11378/* 21886*/ OPC_EmitInteger, MVT::i32, 0,
11379/* 21889*/ OPC_EmitInteger, MVT::i64, 0,
11380/* 21892*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
11381 MVT::i64, 1/*#Ops*/, 3, // Results = #4
11382/* 21899*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11383 MVT::i64, 3/*#Ops*/, 2, 1, 4,
11384 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>) - Complexity = 13
11385 // Dst: (ATOMIC_LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
11386/* 21908*/ 0, /*End of Scope*/
11387/* 21909*/ /*Scope*/ 57, /*->21967*/
11388/* 21910*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
11389/* 21912*/ OPC_MoveParent,
11390/* 21913*/ OPC_Scope, 25, /*->21940*/ // 2 children in Scope
11391/* 21915*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
11392/* 21917*/ OPC_EmitMergeInputChains1_0,
11393/* 21918*/ OPC_EmitInteger, MVT::i32, 0,
11394/* 21921*/ OPC_EmitInteger, MVT::i32, 0,
11395/* 21924*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11396 MVT::i32, 1/*#Ops*/, 3, // Results = #4
11397/* 21931*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11398 MVT::i64, 3/*#Ops*/, 2, 1, 4,
11399 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>) - Complexity = 13
11400 // Dst: (ATOMIC_LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
11401/* 21940*/ /*Scope*/ 25, /*->21966*/
11402/* 21941*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
11403/* 21943*/ OPC_EmitMergeInputChains1_0,
11404/* 21944*/ OPC_EmitInteger, MVT::i32, 0,
11405/* 21947*/ OPC_EmitInteger, MVT::i64, 0,
11406/* 21950*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
11407 MVT::i64, 1/*#Ops*/, 3, // Results = #4
11408/* 21957*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11409 MVT::i64, 3/*#Ops*/, 2, 1, 4,
11410 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>) - Complexity = 13
11411 // Dst: (ATOMIC_LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
11412/* 21966*/ 0, /*End of Scope*/
11413/* 21967*/ 0, /*End of Scope*/
11414/* 21968*/ 0, // EndSwitchOpcode
11415/* 21969*/ /*Scope*/ 106|128,1/*234*/, /*->22205*/
11416/* 21971*/ OPC_RecordChild1, // #1 = $off
11417/* 21972*/ OPC_Scope, 3|128,1/*131*/, /*->22106*/ // 3 children in Scope
11418/* 21975*/ OPC_MoveChild1,
11419/* 21976*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11420/* 21979*/ OPC_MoveParent,
11421/* 21980*/ OPC_Scope, 61, /*->22043*/ // 2 children in Scope
11422/* 21982*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
11423/* 21984*/ OPC_MoveParent,
11424/* 21985*/ OPC_Scope, 27, /*->22014*/ // 2 children in Scope
11425/* 21987*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
11426/* 21989*/ OPC_EmitMergeInputChains1_0,
11427/* 21990*/ OPC_EmitInteger, MVT::i32, 0,
11428/* 21993*/ OPC_EmitConvertToTarget, 1,
11429/* 21995*/ OPC_EmitInteger, MVT::i32, 0,
11430/* 21998*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11431 MVT::i32, 1/*#Ops*/, 4, // Results = #5
11432/* 22005*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11433 MVT::i64, 3/*#Ops*/, 2, 3, 5,
11434 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_8>>) - Complexity = 10
11435 // Dst: (ATOMIC_LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
11436/* 22014*/ /*Scope*/ 27, /*->22042*/
11437/* 22015*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
11438/* 22017*/ OPC_EmitMergeInputChains1_0,
11439/* 22018*/ OPC_EmitInteger, MVT::i32, 0,
11440/* 22021*/ OPC_EmitConvertToTarget, 1,
11441/* 22023*/ OPC_EmitInteger, MVT::i64, 0,
11442/* 22026*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
11443 MVT::i64, 1/*#Ops*/, 4, // Results = #5
11444/* 22033*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11445 MVT::i64, 3/*#Ops*/, 2, 3, 5,
11446 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_8>>) - Complexity = 10
11447 // Dst: (ATOMIC_LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
11448/* 22042*/ 0, /*End of Scope*/
11449/* 22043*/ /*Scope*/ 61, /*->22105*/
11450/* 22044*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
11451/* 22046*/ OPC_MoveParent,
11452/* 22047*/ OPC_Scope, 27, /*->22076*/ // 2 children in Scope
11453/* 22049*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
11454/* 22051*/ OPC_EmitMergeInputChains1_0,
11455/* 22052*/ OPC_EmitInteger, MVT::i32, 0,
11456/* 22055*/ OPC_EmitConvertToTarget, 1,
11457/* 22057*/ OPC_EmitInteger, MVT::i32, 0,
11458/* 22060*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11459 MVT::i32, 1/*#Ops*/, 4, // Results = #5
11460/* 22067*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11461 MVT::i64, 3/*#Ops*/, 2, 3, 5,
11462 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_16>>) - Complexity = 10
11463 // Dst: (ATOMIC_LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
11464/* 22076*/ /*Scope*/ 27, /*->22104*/
11465/* 22077*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
11466/* 22079*/ OPC_EmitMergeInputChains1_0,
11467/* 22080*/ OPC_EmitInteger, MVT::i32, 0,
11468/* 22083*/ OPC_EmitConvertToTarget, 1,
11469/* 22085*/ OPC_EmitInteger, MVT::i64, 0,
11470/* 22088*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
11471 MVT::i64, 1/*#Ops*/, 4, // Results = #5
11472/* 22095*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11473 MVT::i64, 3/*#Ops*/, 2, 3, 5,
11474 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_16>>) - Complexity = 10
11475 // Dst: (ATOMIC_LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
11476/* 22104*/ 0, /*End of Scope*/
11477/* 22105*/ 0, /*End of Scope*/
11478/* 22106*/ /*Scope*/ 48, /*->22155*/
11479/* 22107*/ OPC_CheckChild1Type, MVT::i32,
11480/* 22109*/ OPC_Scope, 21, /*->22132*/ // 2 children in Scope
11481/* 22111*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
11482/* 22113*/ OPC_MoveParent,
11483/* 22114*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
11484/* 22116*/ OPC_EmitMergeInputChains1_0,
11485/* 22117*/ OPC_EmitInteger, MVT::i32, 0,
11486/* 22120*/ OPC_EmitInteger, MVT::i32, 0,
11487/* 22123*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11488 MVT::i64, 3/*#Ops*/, 2, 3, 1,
11489 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_8>>) - Complexity = 7
11490 // Dst: (ATOMIC_LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
11491/* 22132*/ /*Scope*/ 21, /*->22154*/
11492/* 22133*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
11493/* 22135*/ OPC_MoveParent,
11494/* 22136*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
11495/* 22138*/ OPC_EmitMergeInputChains1_0,
11496/* 22139*/ OPC_EmitInteger, MVT::i32, 0,
11497/* 22142*/ OPC_EmitInteger, MVT::i32, 0,
11498/* 22145*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11499 MVT::i64, 3/*#Ops*/, 2, 3, 1,
11500 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_16>>) - Complexity = 7
11501 // Dst: (ATOMIC_LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
11502/* 22154*/ 0, /*End of Scope*/
11503/* 22155*/ /*Scope*/ 48, /*->22204*/
11504/* 22156*/ OPC_CheckChild1Type, MVT::i64,
11505/* 22158*/ OPC_Scope, 21, /*->22181*/ // 2 children in Scope
11506/* 22160*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
11507/* 22162*/ OPC_MoveParent,
11508/* 22163*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
11509/* 22165*/ OPC_EmitMergeInputChains1_0,
11510/* 22166*/ OPC_EmitInteger, MVT::i32, 0,
11511/* 22169*/ OPC_EmitInteger, MVT::i64, 0,
11512/* 22172*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11513 MVT::i64, 3/*#Ops*/, 2, 3, 1,
11514 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_atomic_load_8>>) - Complexity = 7
11515 // Dst: (ATOMIC_LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
11516/* 22181*/ /*Scope*/ 21, /*->22203*/
11517/* 22182*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
11518/* 22184*/ OPC_MoveParent,
11519/* 22185*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
11520/* 22187*/ OPC_EmitMergeInputChains1_0,
11521/* 22188*/ OPC_EmitInteger, MVT::i32, 0,
11522/* 22191*/ OPC_EmitInteger, MVT::i64, 0,
11523/* 22194*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11524 MVT::i64, 3/*#Ops*/, 2, 3, 1,
11525 // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_atomic_load_16>>) - Complexity = 7
11526 // Dst: (ATOMIC_LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
11527/* 22203*/ 0, /*End of Scope*/
11528/* 22204*/ 0, /*End of Scope*/
11529/* 22205*/ 0, /*End of Scope*/
11530/* 22206*/ 0, // EndSwitchOpcode
11531/* 22207*/ /*Scope*/ 8, /*->22216*/
11532/* 22208*/ OPC_RecordChild0, // #0 = $src
11533/* 22209*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND_U_I32), 0,
11534 MVT::i64, 1/*#Ops*/, 0,
11535 // Src: (anyext:{ *:[i64] } I32:{ *:[i32] }:$src) - Complexity = 3
11536 // Dst: (I64_EXTEND_U_I32:{ *:[i64] } I32:{ *:[i32] }:$src)
11537/* 22216*/ 0, /*End of Scope*/
11538/* 22217*/ /*SwitchOpcode*/ 19|128,12/*1555*/, TARGET_VAL(ISD::SETCC),// ->23776
11539/* 22221*/ OPC_Scope, 22|128,2/*278*/, /*->22502*/ // 2 children in Scope
11540/* 22224*/ OPC_MoveChild0,
11541/* 22225*/ OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
11542/* 22228*/ OPC_Scope, 6|128,1/*134*/, /*->22365*/ // 2 children in Scope
11543/* 22231*/ OPC_CheckChild0Integer, 15|128,67/*8591*/,
11544/* 22234*/ OPC_RecordChild1, // #0 = $x
11545/* 22235*/ OPC_Scope, 31, /*->22268*/ // 4 children in Scope
11546/* 22237*/ OPC_CheckChild1Type, MVT::v16i8,
11547/* 22239*/ OPC_MoveParent,
11548/* 22240*/ OPC_CheckType, MVT::i32,
11549/* 22242*/ OPC_Scope, 11, /*->22255*/ // 2 children in Scope
11550/* 22244*/ OPC_CheckChild1Integer, 0,
11551/* 22246*/ OPC_CheckChild2CondCode, ISD::SETNE,
11552/* 22248*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_I8x16), 0,
11553 MVT::i32, 1/*#Ops*/, 0,
11554 // Src: (setcc:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8591:{ *:[iPTR] }, V128:{ *:[v16i8] }:$x), 0:{ *:[i32] }, SETNE:{ *:[Other] }) - Complexity = 16
11555 // Dst: (ANYTRUE_I8x16:{ *:[i32] } ?:{ *:[v16i8] }:$x)
11556/* 22255*/ /*Scope*/ 11, /*->22267*/
11557/* 22256*/ OPC_CheckChild1Integer, 1,
11558/* 22258*/ OPC_CheckChild2CondCode, ISD::SETEQ,
11559/* 22260*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_I8x16), 0,
11560 MVT::i32, 1/*#Ops*/, 0,
11561 // Src: (setcc:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8591:{ *:[iPTR] }, V128:{ *:[v16i8] }:$x), 1:{ *:[i32] }, SETEQ:{ *:[Other] }) - Complexity = 16
11562 // Dst: (ANYTRUE_I8x16:{ *:[i32] } ?:{ *:[v16i8] }:$x)
11563/* 22267*/ 0, /*End of Scope*/
11564/* 22268*/ /*Scope*/ 31, /*->22300*/
11565/* 22269*/ OPC_CheckChild1Type, MVT::v8i16,
11566/* 22271*/ OPC_MoveParent,
11567/* 22272*/ OPC_CheckType, MVT::i32,
11568/* 22274*/ OPC_Scope, 11, /*->22287*/ // 2 children in Scope
11569/* 22276*/ OPC_CheckChild1Integer, 0,
11570/* 22278*/ OPC_CheckChild2CondCode, ISD::SETNE,
11571/* 22280*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_I16x8), 0,
11572 MVT::i32, 1/*#Ops*/, 0,
11573 // Src: (setcc:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8591:{ *:[iPTR] }, V128:{ *:[v8i16] }:$x), 0:{ *:[i32] }, SETNE:{ *:[Other] }) - Complexity = 16
11574 // Dst: (ANYTRUE_I16x8:{ *:[i32] } ?:{ *:[v8i16] }:$x)
11575/* 22287*/ /*Scope*/ 11, /*->22299*/
11576/* 22288*/ OPC_CheckChild1Integer, 1,
11577/* 22290*/ OPC_CheckChild2CondCode, ISD::SETEQ,
11578/* 22292*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_I16x8), 0,
11579 MVT::i32, 1/*#Ops*/, 0,
11580 // Src: (setcc:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8591:{ *:[iPTR] }, V128:{ *:[v8i16] }:$x), 1:{ *:[i32] }, SETEQ:{ *:[Other] }) - Complexity = 16
11581 // Dst: (ANYTRUE_I16x8:{ *:[i32] } ?:{ *:[v8i16] }:$x)
11582/* 22299*/ 0, /*End of Scope*/
11583/* 22300*/ /*Scope*/ 31, /*->22332*/
11584/* 22301*/ OPC_CheckChild1Type, MVT::v4i32,
11585/* 22303*/ OPC_MoveParent,
11586/* 22304*/ OPC_CheckType, MVT::i32,
11587/* 22306*/ OPC_Scope, 11, /*->22319*/ // 2 children in Scope
11588/* 22308*/ OPC_CheckChild1Integer, 0,
11589/* 22310*/ OPC_CheckChild2CondCode, ISD::SETNE,
11590/* 22312*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_I32x4), 0,
11591 MVT::i32, 1/*#Ops*/, 0,
11592 // Src: (setcc:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8591:{ *:[iPTR] }, V128:{ *:[v4i32] }:$x), 0:{ *:[i32] }, SETNE:{ *:[Other] }) - Complexity = 16
11593 // Dst: (ANYTRUE_I32x4:{ *:[i32] } ?:{ *:[v4i32] }:$x)
11594/* 22319*/ /*Scope*/ 11, /*->22331*/
11595/* 22320*/ OPC_CheckChild1Integer, 1,
11596/* 22322*/ OPC_CheckChild2CondCode, ISD::SETEQ,
11597/* 22324*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_I32x4), 0,
11598 MVT::i32, 1/*#Ops*/, 0,
11599 // Src: (setcc:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8591:{ *:[iPTR] }, V128:{ *:[v4i32] }:$x), 1:{ *:[i32] }, SETEQ:{ *:[Other] }) - Complexity = 16
11600 // Dst: (ANYTRUE_I32x4:{ *:[i32] } ?:{ *:[v4i32] }:$x)
11601/* 22331*/ 0, /*End of Scope*/
11602/* 22332*/ /*Scope*/ 31, /*->22364*/
11603/* 22333*/ OPC_CheckChild1Type, MVT::v2i64,
11604/* 22335*/ OPC_MoveParent,
11605/* 22336*/ OPC_CheckType, MVT::i32,
11606/* 22338*/ OPC_Scope, 11, /*->22351*/ // 2 children in Scope
11607/* 22340*/ OPC_CheckChild1Integer, 0,
11608/* 22342*/ OPC_CheckChild2CondCode, ISD::SETNE,
11609/* 22344*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_I64x2), 0,
11610 MVT::i32, 1/*#Ops*/, 0,
11611 // Src: (setcc:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8591:{ *:[iPTR] }, V128:{ *:[v2i64] }:$x), 0:{ *:[i32] }, SETNE:{ *:[Other] }) - Complexity = 16
11612 // Dst: (ANYTRUE_I64x2:{ *:[i32] } ?:{ *:[v2i64] }:$x)
11613/* 22351*/ /*Scope*/ 11, /*->22363*/
11614/* 22352*/ OPC_CheckChild1Integer, 1,
11615/* 22354*/ OPC_CheckChild2CondCode, ISD::SETEQ,
11616/* 22356*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_I64x2), 0,
11617 MVT::i32, 1/*#Ops*/, 0,
11618 // Src: (setcc:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8591:{ *:[iPTR] }, V128:{ *:[v2i64] }:$x), 1:{ *:[i32] }, SETEQ:{ *:[Other] }) - Complexity = 16
11619 // Dst: (ANYTRUE_I64x2:{ *:[i32] } ?:{ *:[v2i64] }:$x)
11620/* 22363*/ 0, /*End of Scope*/
11621/* 22364*/ 0, /*End of Scope*/
11622/* 22365*/ /*Scope*/ 6|128,1/*134*/, /*->22501*/
11623/* 22367*/ OPC_CheckChild0Integer, 14|128,67/*8590*/,
11624/* 22370*/ OPC_RecordChild1, // #0 = $x
11625/* 22371*/ OPC_Scope, 31, /*->22404*/ // 4 children in Scope
11626/* 22373*/ OPC_CheckChild1Type, MVT::v16i8,
11627/* 22375*/ OPC_MoveParent,
11628/* 22376*/ OPC_CheckType, MVT::i32,
11629/* 22378*/ OPC_Scope, 11, /*->22391*/ // 2 children in Scope
11630/* 22380*/ OPC_CheckChild1Integer, 0,
11631/* 22382*/ OPC_CheckChild2CondCode, ISD::SETNE,
11632/* 22384*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_I8x16), 0,
11633 MVT::i32, 1/*#Ops*/, 0,
11634 // Src: (setcc:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8590:{ *:[iPTR] }, V128:{ *:[v16i8] }:$x), 0:{ *:[i32] }, SETNE:{ *:[Other] }) - Complexity = 16
11635 // Dst: (ALLTRUE_I8x16:{ *:[i32] } ?:{ *:[v16i8] }:$x)
11636/* 22391*/ /*Scope*/ 11, /*->22403*/
11637/* 22392*/ OPC_CheckChild1Integer, 1,
11638/* 22394*/ OPC_CheckChild2CondCode, ISD::SETEQ,
11639/* 22396*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_I8x16), 0,
11640 MVT::i32, 1/*#Ops*/, 0,
11641 // Src: (setcc:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8590:{ *:[iPTR] }, V128:{ *:[v16i8] }:$x), 1:{ *:[i32] }, SETEQ:{ *:[Other] }) - Complexity = 16
11642 // Dst: (ALLTRUE_I8x16:{ *:[i32] } ?:{ *:[v16i8] }:$x)
11643/* 22403*/ 0, /*End of Scope*/
11644/* 22404*/ /*Scope*/ 31, /*->22436*/
11645/* 22405*/ OPC_CheckChild1Type, MVT::v8i16,
11646/* 22407*/ OPC_MoveParent,
11647/* 22408*/ OPC_CheckType, MVT::i32,
11648/* 22410*/ OPC_Scope, 11, /*->22423*/ // 2 children in Scope
11649/* 22412*/ OPC_CheckChild1Integer, 0,
11650/* 22414*/ OPC_CheckChild2CondCode, ISD::SETNE,
11651/* 22416*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_I16x8), 0,
11652 MVT::i32, 1/*#Ops*/, 0,
11653 // Src: (setcc:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8590:{ *:[iPTR] }, V128:{ *:[v8i16] }:$x), 0:{ *:[i32] }, SETNE:{ *:[Other] }) - Complexity = 16
11654 // Dst: (ALLTRUE_I16x8:{ *:[i32] } ?:{ *:[v8i16] }:$x)
11655/* 22423*/ /*Scope*/ 11, /*->22435*/
11656/* 22424*/ OPC_CheckChild1Integer, 1,
11657/* 22426*/ OPC_CheckChild2CondCode, ISD::SETEQ,
11658/* 22428*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_I16x8), 0,
11659 MVT::i32, 1/*#Ops*/, 0,
11660 // Src: (setcc:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8590:{ *:[iPTR] }, V128:{ *:[v8i16] }:$x), 1:{ *:[i32] }, SETEQ:{ *:[Other] }) - Complexity = 16
11661 // Dst: (ALLTRUE_I16x8:{ *:[i32] } ?:{ *:[v8i16] }:$x)
11662/* 22435*/ 0, /*End of Scope*/
11663/* 22436*/ /*Scope*/ 31, /*->22468*/
11664/* 22437*/ OPC_CheckChild1Type, MVT::v4i32,
11665/* 22439*/ OPC_MoveParent,
11666/* 22440*/ OPC_CheckType, MVT::i32,
11667/* 22442*/ OPC_Scope, 11, /*->22455*/ // 2 children in Scope
11668/* 22444*/ OPC_CheckChild1Integer, 0,
11669/* 22446*/ OPC_CheckChild2CondCode, ISD::SETNE,
11670/* 22448*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_I32x4), 0,
11671 MVT::i32, 1/*#Ops*/, 0,
11672 // Src: (setcc:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8590:{ *:[iPTR] }, V128:{ *:[v4i32] }:$x), 0:{ *:[i32] }, SETNE:{ *:[Other] }) - Complexity = 16
11673 // Dst: (ALLTRUE_I32x4:{ *:[i32] } ?:{ *:[v4i32] }:$x)
11674/* 22455*/ /*Scope*/ 11, /*->22467*/
11675/* 22456*/ OPC_CheckChild1Integer, 1,
11676/* 22458*/ OPC_CheckChild2CondCode, ISD::SETEQ,
11677/* 22460*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_I32x4), 0,
11678 MVT::i32, 1/*#Ops*/, 0,
11679 // Src: (setcc:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8590:{ *:[iPTR] }, V128:{ *:[v4i32] }:$x), 1:{ *:[i32] }, SETEQ:{ *:[Other] }) - Complexity = 16
11680 // Dst: (ALLTRUE_I32x4:{ *:[i32] } ?:{ *:[v4i32] }:$x)
11681/* 22467*/ 0, /*End of Scope*/
11682/* 22468*/ /*Scope*/ 31, /*->22500*/
11683/* 22469*/ OPC_CheckChild1Type, MVT::v2i64,
11684/* 22471*/ OPC_MoveParent,
11685/* 22472*/ OPC_CheckType, MVT::i32,
11686/* 22474*/ OPC_Scope, 11, /*->22487*/ // 2 children in Scope
11687/* 22476*/ OPC_CheckChild1Integer, 0,
11688/* 22478*/ OPC_CheckChild2CondCode, ISD::SETNE,
11689/* 22480*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_I64x2), 0,
11690 MVT::i32, 1/*#Ops*/, 0,
11691 // Src: (setcc:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8590:{ *:[iPTR] }, V128:{ *:[v2i64] }:$x), 0:{ *:[i32] }, SETNE:{ *:[Other] }) - Complexity = 16
11692 // Dst: (ALLTRUE_I64x2:{ *:[i32] } ?:{ *:[v2i64] }:$x)
11693/* 22487*/ /*Scope*/ 11, /*->22499*/
11694/* 22488*/ OPC_CheckChild1Integer, 1,
11695/* 22490*/ OPC_CheckChild2CondCode, ISD::SETEQ,
11696/* 22492*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_I64x2), 0,
11697 MVT::i32, 1/*#Ops*/, 0,
11698 // Src: (setcc:{ *:[i32] } (intrinsic_wo_chain:{ *:[i32] } 8590:{ *:[iPTR] }, V128:{ *:[v2i64] }:$x), 1:{ *:[i32] }, SETEQ:{ *:[Other] }) - Complexity = 16
11699 // Dst: (ALLTRUE_I64x2:{ *:[i32] } ?:{ *:[v2i64] }:$x)
11700/* 22499*/ 0, /*End of Scope*/
11701/* 22500*/ 0, /*End of Scope*/
11702/* 22501*/ 0, /*End of Scope*/
11703/* 22502*/ /*Scope*/ 119|128,9/*1271*/, /*->23775*/
11704/* 22504*/ OPC_RecordChild0, // #0 = $src
11705/* 22505*/ OPC_SwitchType /*5 cases */, 32|128,4/*544*/, MVT::i32,// ->23053
11706/* 22509*/ OPC_Scope, 2|128,1/*130*/, /*->22642*/ // 4 children in Scope
11707/* 22512*/ OPC_CheckChild0Type, MVT::i32,
11708/* 22514*/ OPC_Scope, 11, /*->22527*/ // 2 children in Scope
11709/* 22516*/ OPC_CheckChild1Integer, 0,
11710/* 22518*/ OPC_CheckChild2CondCode, ISD::SETEQ,
11711/* 22520*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQZ_I32), 0,
11712 MVT::i32, 1/*#Ops*/, 0,
11713 // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$src, 0:{ *:[i32] }, SETEQ:{ *:[Other] }) - Complexity = 8
11714 // Dst: (EQZ_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
11715/* 22527*/ /*Scope*/ 113, /*->22641*/
11716/* 22528*/ OPC_RecordChild1, // #1 = $rhs
11717/* 22529*/ OPC_Scope, 10, /*->22541*/ // 10 children in Scope
11718/* 22531*/ OPC_CheckChild2CondCode, ISD::SETEQ,
11719/* 22533*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_I32), 0,
11720 MVT::i32, 2/*#Ops*/, 0, 1,
11721 // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
11722 // Dst: (EQ_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
11723/* 22541*/ /*Scope*/ 10, /*->22552*/
11724/* 22542*/ OPC_CheckChild2CondCode, ISD::SETNE,
11725/* 22544*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_I32), 0,
11726 MVT::i32, 2/*#Ops*/, 0, 1,
11727 // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
11728 // Dst: (NE_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
11729/* 22552*/ /*Scope*/ 10, /*->22563*/
11730/* 22553*/ OPC_CheckChild2CondCode, ISD::SETLT,
11731/* 22555*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_S_I32), 0,
11732 MVT::i32, 2/*#Ops*/, 0, 1,
11733 // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
11734 // Dst: (LT_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
11735/* 22563*/ /*Scope*/ 10, /*->22574*/
11736/* 22564*/ OPC_CheckChild2CondCode, ISD::SETULT,
11737/* 22566*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_U_I32), 0,
11738 MVT::i32, 2/*#Ops*/, 0, 1,
11739 // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETULT:{ *:[Other] }) - Complexity = 3
11740 // Dst: (LT_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
11741/* 22574*/ /*Scope*/ 10, /*->22585*/
11742/* 22575*/ OPC_CheckChild2CondCode, ISD::SETGT,
11743/* 22577*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_S_I32), 0,
11744 MVT::i32, 2/*#Ops*/, 0, 1,
11745 // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
11746 // Dst: (GT_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
11747/* 22585*/ /*Scope*/ 10, /*->22596*/
11748/* 22586*/ OPC_CheckChild2CondCode, ISD::SETUGT,
11749/* 22588*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_U_I32), 0,
11750 MVT::i32, 2/*#Ops*/, 0, 1,
11751 // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETUGT:{ *:[Other] }) - Complexity = 3
11752 // Dst: (GT_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
11753/* 22596*/ /*Scope*/ 10, /*->22607*/
11754/* 22597*/ OPC_CheckChild2CondCode, ISD::SETLE,
11755/* 22599*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_S_I32), 0,
11756 MVT::i32, 2/*#Ops*/, 0, 1,
11757 // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
11758 // Dst: (LE_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
11759/* 22607*/ /*Scope*/ 10, /*->22618*/
11760/* 22608*/ OPC_CheckChild2CondCode, ISD::SETULE,
11761/* 22610*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_U_I32), 0,
11762 MVT::i32, 2/*#Ops*/, 0, 1,
11763 // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }) - Complexity = 3
11764 // Dst: (LE_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
11765/* 22618*/ /*Scope*/ 10, /*->22629*/
11766/* 22619*/ OPC_CheckChild2CondCode, ISD::SETGE,
11767/* 22621*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_S_I32), 0,
11768 MVT::i32, 2/*#Ops*/, 0, 1,
11769 // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
11770 // Dst: (GE_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
11771/* 22629*/ /*Scope*/ 10, /*->22640*/
11772/* 22630*/ OPC_CheckChild2CondCode, ISD::SETUGE,
11773/* 22632*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_U_I32), 0,
11774 MVT::i32, 2/*#Ops*/, 0, 1,
11775 // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }) - Complexity = 3
11776 // Dst: (GE_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
11777/* 22640*/ 0, /*End of Scope*/
11778/* 22641*/ 0, /*End of Scope*/
11779/* 22642*/ /*Scope*/ 2|128,1/*130*/, /*->22774*/
11780/* 22644*/ OPC_CheckChild0Type, MVT::i64,
11781/* 22646*/ OPC_Scope, 11, /*->22659*/ // 2 children in Scope
11782/* 22648*/ OPC_CheckChild1Integer, 0,
11783/* 22650*/ OPC_CheckChild2CondCode, ISD::SETEQ,
11784/* 22652*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQZ_I64), 0,
11785 MVT::i32, 1/*#Ops*/, 0,
11786 // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$src, 0:{ *:[i64] }, SETEQ:{ *:[Other] }) - Complexity = 8
11787 // Dst: (EQZ_I64:{ *:[i32] } I64:{ *:[i64] }:$src)
11788/* 22659*/ /*Scope*/ 113, /*->22773*/
11789/* 22660*/ OPC_RecordChild1, // #1 = $rhs
11790/* 22661*/ OPC_Scope, 10, /*->22673*/ // 10 children in Scope
11791/* 22663*/ OPC_CheckChild2CondCode, ISD::SETEQ,
11792/* 22665*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_I64), 0,
11793 MVT::i32, 2/*#Ops*/, 0, 1,
11794 // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
11795 // Dst: (EQ_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
11796/* 22673*/ /*Scope*/ 10, /*->22684*/
11797/* 22674*/ OPC_CheckChild2CondCode, ISD::SETNE,
11798/* 22676*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_I64), 0,
11799 MVT::i32, 2/*#Ops*/, 0, 1,
11800 // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
11801 // Dst: (NE_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
11802/* 22684*/ /*Scope*/ 10, /*->22695*/
11803/* 22685*/ OPC_CheckChild2CondCode, ISD::SETLT,
11804/* 22687*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_S_I64), 0,
11805 MVT::i32, 2/*#Ops*/, 0, 1,
11806 // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
11807 // Dst: (LT_S_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
11808/* 22695*/ /*Scope*/ 10, /*->22706*/
11809/* 22696*/ OPC_CheckChild2CondCode, ISD::SETULT,
11810/* 22698*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_U_I64), 0,
11811 MVT::i32, 2/*#Ops*/, 0, 1,
11812 // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETULT:{ *:[Other] }) - Complexity = 3
11813 // Dst: (LT_U_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
11814/* 22706*/ /*Scope*/ 10, /*->22717*/
11815/* 22707*/ OPC_CheckChild2CondCode, ISD::SETGT,
11816/* 22709*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_S_I64), 0,
11817 MVT::i32, 2/*#Ops*/, 0, 1,
11818 // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
11819 // Dst: (GT_S_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
11820/* 22717*/ /*Scope*/ 10, /*->22728*/
11821/* 22718*/ OPC_CheckChild2CondCode, ISD::SETUGT,
11822/* 22720*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_U_I64), 0,
11823 MVT::i32, 2/*#Ops*/, 0, 1,
11824 // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETUGT:{ *:[Other] }) - Complexity = 3
11825 // Dst: (GT_U_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
11826/* 22728*/ /*Scope*/ 10, /*->22739*/
11827/* 22729*/ OPC_CheckChild2CondCode, ISD::SETLE,
11828/* 22731*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_S_I64), 0,
11829 MVT::i32, 2/*#Ops*/, 0, 1,
11830 // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
11831 // Dst: (LE_S_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
11832/* 22739*/ /*Scope*/ 10, /*->22750*/
11833/* 22740*/ OPC_CheckChild2CondCode, ISD::SETULE,
11834/* 22742*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_U_I64), 0,
11835 MVT::i32, 2/*#Ops*/, 0, 1,
11836 // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETULE:{ *:[Other] }) - Complexity = 3
11837 // Dst: (LE_U_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
11838/* 22750*/ /*Scope*/ 10, /*->22761*/
11839/* 22751*/ OPC_CheckChild2CondCode, ISD::SETGE,
11840/* 22753*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_S_I64), 0,
11841 MVT::i32, 2/*#Ops*/, 0, 1,
11842 // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
11843 // Dst: (GE_S_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
11844/* 22761*/ /*Scope*/ 10, /*->22772*/
11845/* 22762*/ OPC_CheckChild2CondCode, ISD::SETUGE,
11846/* 22764*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_U_I64), 0,
11847 MVT::i32, 2/*#Ops*/, 0, 1,
11848 // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETUGE:{ *:[Other] }) - Complexity = 3
11849 // Dst: (GE_U_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
11850/* 22772*/ 0, /*End of Scope*/
11851/* 22773*/ 0, /*End of Scope*/
11852/* 22774*/ /*Scope*/ 9|128,1/*137*/, /*->22913*/
11853/* 22776*/ OPC_CheckChild0Type, MVT::f32,
11854/* 22778*/ OPC_RecordChild1, // #1 = $rhs
11855/* 22779*/ OPC_Scope, 10, /*->22791*/ // 12 children in Scope
11856/* 22781*/ OPC_CheckChild2CondCode, ISD::SETOEQ,
11857/* 22783*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_F32), 0,
11858 MVT::i32, 2/*#Ops*/, 0, 1,
11859 // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETOEQ:{ *:[Other] }) - Complexity = 3
11860 // Dst: (EQ_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
11861/* 22791*/ /*Scope*/ 10, /*->22802*/
11862/* 22792*/ OPC_CheckChild2CondCode, ISD::SETUNE,
11863/* 22794*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_F32), 0,
11864 MVT::i32, 2/*#Ops*/, 0, 1,
11865 // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETUNE:{ *:[Other] }) - Complexity = 3
11866 // Dst: (NE_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
11867/* 22802*/ /*Scope*/ 10, /*->22813*/
11868/* 22803*/ OPC_CheckChild2CondCode, ISD::SETOLT,
11869/* 22805*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_F32), 0,
11870 MVT::i32, 2/*#Ops*/, 0, 1,
11871 // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETOLT:{ *:[Other] }) - Complexity = 3
11872 // Dst: (LT_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
11873/* 22813*/ /*Scope*/ 10, /*->22824*/
11874/* 22814*/ OPC_CheckChild2CondCode, ISD::SETOLE,
11875/* 22816*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_F32), 0,
11876 MVT::i32, 2/*#Ops*/, 0, 1,
11877 // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETOLE:{ *:[Other] }) - Complexity = 3
11878 // Dst: (LE_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
11879/* 22824*/ /*Scope*/ 10, /*->22835*/
11880/* 22825*/ OPC_CheckChild2CondCode, ISD::SETOGT,
11881/* 22827*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_F32), 0,
11882 MVT::i32, 2/*#Ops*/, 0, 1,
11883 // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETOGT:{ *:[Other] }) - Complexity = 3
11884 // Dst: (GT_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
11885/* 22835*/ /*Scope*/ 10, /*->22846*/
11886/* 22836*/ OPC_CheckChild2CondCode, ISD::SETOGE,
11887/* 22838*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_F32), 0,
11888 MVT::i32, 2/*#Ops*/, 0, 1,
11889 // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETOGE:{ *:[Other] }) - Complexity = 3
11890 // Dst: (GE_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
11891/* 22846*/ /*Scope*/ 10, /*->22857*/
11892/* 22847*/ OPC_CheckChild2CondCode, ISD::SETEQ,
11893/* 22849*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_F32), 0,
11894 MVT::i32, 2/*#Ops*/, 0, 1,
11895 // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
11896 // Dst: (EQ_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
11897/* 22857*/ /*Scope*/ 10, /*->22868*/
11898/* 22858*/ OPC_CheckChild2CondCode, ISD::SETNE,
11899/* 22860*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_F32), 0,
11900 MVT::i32, 2/*#Ops*/, 0, 1,
11901 // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
11902 // Dst: (NE_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
11903/* 22868*/ /*Scope*/ 10, /*->22879*/
11904/* 22869*/ OPC_CheckChild2CondCode, ISD::SETLT,
11905/* 22871*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_F32), 0,
11906 MVT::i32, 2/*#Ops*/, 0, 1,
11907 // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
11908 // Dst: (LT_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
11909/* 22879*/ /*Scope*/ 10, /*->22890*/
11910/* 22880*/ OPC_CheckChild2CondCode, ISD::SETLE,
11911/* 22882*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_F32), 0,
11912 MVT::i32, 2/*#Ops*/, 0, 1,
11913 // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
11914 // Dst: (LE_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
11915/* 22890*/ /*Scope*/ 10, /*->22901*/
11916/* 22891*/ OPC_CheckChild2CondCode, ISD::SETGT,
11917/* 22893*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_F32), 0,
11918 MVT::i32, 2/*#Ops*/, 0, 1,
11919 // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
11920 // Dst: (GT_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
11921/* 22901*/ /*Scope*/ 10, /*->22912*/
11922/* 22902*/ OPC_CheckChild2CondCode, ISD::SETGE,
11923/* 22904*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_F32), 0,
11924 MVT::i32, 2/*#Ops*/, 0, 1,
11925 // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
11926 // Dst: (GE_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
11927/* 22912*/ 0, /*End of Scope*/
11928/* 22913*/ /*Scope*/ 9|128,1/*137*/, /*->23052*/
11929/* 22915*/ OPC_CheckChild0Type, MVT::f64,
11930/* 22917*/ OPC_RecordChild1, // #1 = $rhs
11931/* 22918*/ OPC_Scope, 10, /*->22930*/ // 12 children in Scope
11932/* 22920*/ OPC_CheckChild2CondCode, ISD::SETOEQ,
11933/* 22922*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_F64), 0,
11934 MVT::i32, 2/*#Ops*/, 0, 1,
11935 // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETOEQ:{ *:[Other] }) - Complexity = 3
11936 // Dst: (EQ_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
11937/* 22930*/ /*Scope*/ 10, /*->22941*/
11938/* 22931*/ OPC_CheckChild2CondCode, ISD::SETUNE,
11939/* 22933*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_F64), 0,
11940 MVT::i32, 2/*#Ops*/, 0, 1,
11941 // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETUNE:{ *:[Other] }) - Complexity = 3
11942 // Dst: (NE_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
11943/* 22941*/ /*Scope*/ 10, /*->22952*/
11944/* 22942*/ OPC_CheckChild2CondCode, ISD::SETOLT,
11945/* 22944*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_F64), 0,
11946 MVT::i32, 2/*#Ops*/, 0, 1,
11947 // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETOLT:{ *:[Other] }) - Complexity = 3
11948 // Dst: (LT_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
11949/* 22952*/ /*Scope*/ 10, /*->22963*/
11950/* 22953*/ OPC_CheckChild2CondCode, ISD::SETOLE,
11951/* 22955*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_F64), 0,
11952 MVT::i32, 2/*#Ops*/, 0, 1,
11953 // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETOLE:{ *:[Other] }) - Complexity = 3
11954 // Dst: (LE_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
11955/* 22963*/ /*Scope*/ 10, /*->22974*/
11956/* 22964*/ OPC_CheckChild2CondCode, ISD::SETOGT,
11957/* 22966*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_F64), 0,
11958 MVT::i32, 2/*#Ops*/, 0, 1,
11959 // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETOGT:{ *:[Other] }) - Complexity = 3
11960 // Dst: (GT_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
11961/* 22974*/ /*Scope*/ 10, /*->22985*/
11962/* 22975*/ OPC_CheckChild2CondCode, ISD::SETOGE,
11963/* 22977*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_F64), 0,
11964 MVT::i32, 2/*#Ops*/, 0, 1,
11965 // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETOGE:{ *:[Other] }) - Complexity = 3
11966 // Dst: (GE_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
11967/* 22985*/ /*Scope*/ 10, /*->22996*/
11968/* 22986*/ OPC_CheckChild2CondCode, ISD::SETEQ,
11969/* 22988*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_F64), 0,
11970 MVT::i32, 2/*#Ops*/, 0, 1,
11971 // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
11972 // Dst: (EQ_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
11973/* 22996*/ /*Scope*/ 10, /*->23007*/
11974/* 22997*/ OPC_CheckChild2CondCode, ISD::SETNE,
11975/* 22999*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_F64), 0,
11976 MVT::i32, 2/*#Ops*/, 0, 1,
11977 // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
11978 // Dst: (NE_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
11979/* 23007*/ /*Scope*/ 10, /*->23018*/
11980/* 23008*/ OPC_CheckChild2CondCode, ISD::SETLT,
11981/* 23010*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_F64), 0,
11982 MVT::i32, 2/*#Ops*/, 0, 1,
11983 // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
11984 // Dst: (LT_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
11985/* 23018*/ /*Scope*/ 10, /*->23029*/
11986/* 23019*/ OPC_CheckChild2CondCode, ISD::SETLE,
11987/* 23021*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_F64), 0,
11988 MVT::i32, 2/*#Ops*/, 0, 1,
11989 // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
11990 // Dst: (LE_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
11991/* 23029*/ /*Scope*/ 10, /*->23040*/
11992/* 23030*/ OPC_CheckChild2CondCode, ISD::SETGT,
11993/* 23032*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_F64), 0,
11994 MVT::i32, 2/*#Ops*/, 0, 1,
11995 // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
11996 // Dst: (GT_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
11997/* 23040*/ /*Scope*/ 10, /*->23051*/
11998/* 23041*/ OPC_CheckChild2CondCode, ISD::SETGE,
11999/* 23043*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_F64), 0,
12000 MVT::i32, 2/*#Ops*/, 0, 1,
12001 // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
12002 // Dst: (GE_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
12003/* 23051*/ 0, /*End of Scope*/
12004/* 23052*/ 0, /*End of Scope*/
12005/* 23053*/ /*SwitchType*/ 7|128,1/*135*/, MVT::v16i8,// ->23191
12006/* 23056*/ OPC_CheckChild0Type, MVT::v16i8,
12007/* 23058*/ OPC_RecordChild1, // #1 = $rhs
12008/* 23059*/ OPC_Scope, 12, /*->23073*/ // 10 children in Scope
12009/* 23061*/ OPC_CheckChild2CondCode, ISD::SETEQ,
12010/* 23063*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12011/* 23065*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_I8x16), 0,
12012 MVT::v16i8, 2/*#Ops*/, 0, 1,
12013 // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
12014 // Dst: (EQ_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
12015/* 23073*/ /*Scope*/ 12, /*->23086*/
12016/* 23074*/ OPC_CheckChild2CondCode, ISD::SETNE,
12017/* 23076*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12018/* 23078*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_I8x16), 0,
12019 MVT::v16i8, 2/*#Ops*/, 0, 1,
12020 // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
12021 // Dst: (NE_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
12022/* 23086*/ /*Scope*/ 12, /*->23099*/
12023/* 23087*/ OPC_CheckChild2CondCode, ISD::SETLT,
12024/* 23089*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12025/* 23091*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_S_I8x16), 0,
12026 MVT::v16i8, 2/*#Ops*/, 0, 1,
12027 // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
12028 // Dst: (LT_S_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
12029/* 23099*/ /*Scope*/ 12, /*->23112*/
12030/* 23100*/ OPC_CheckChild2CondCode, ISD::SETULT,
12031/* 23102*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12032/* 23104*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_U_I8x16), 0,
12033 MVT::v16i8, 2/*#Ops*/, 0, 1,
12034 // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETULT:{ *:[Other] }) - Complexity = 3
12035 // Dst: (LT_U_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
12036/* 23112*/ /*Scope*/ 12, /*->23125*/
12037/* 23113*/ OPC_CheckChild2CondCode, ISD::SETGT,
12038/* 23115*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12039/* 23117*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_S_I8x16), 0,
12040 MVT::v16i8, 2/*#Ops*/, 0, 1,
12041 // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
12042 // Dst: (GT_S_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
12043/* 23125*/ /*Scope*/ 12, /*->23138*/
12044/* 23126*/ OPC_CheckChild2CondCode, ISD::SETUGT,
12045/* 23128*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12046/* 23130*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_U_I8x16), 0,
12047 MVT::v16i8, 2/*#Ops*/, 0, 1,
12048 // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETUGT:{ *:[Other] }) - Complexity = 3
12049 // Dst: (GT_U_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
12050/* 23138*/ /*Scope*/ 12, /*->23151*/
12051/* 23139*/ OPC_CheckChild2CondCode, ISD::SETLE,
12052/* 23141*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12053/* 23143*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_S_I8x16), 0,
12054 MVT::v16i8, 2/*#Ops*/, 0, 1,
12055 // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
12056 // Dst: (LE_S_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
12057/* 23151*/ /*Scope*/ 12, /*->23164*/
12058/* 23152*/ OPC_CheckChild2CondCode, ISD::SETULE,
12059/* 23154*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12060/* 23156*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_U_I8x16), 0,
12061 MVT::v16i8, 2/*#Ops*/, 0, 1,
12062 // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETULE:{ *:[Other] }) - Complexity = 3
12063 // Dst: (LE_U_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
12064/* 23164*/ /*Scope*/ 12, /*->23177*/
12065/* 23165*/ OPC_CheckChild2CondCode, ISD::SETGE,
12066/* 23167*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12067/* 23169*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_S_I8x16), 0,
12068 MVT::v16i8, 2/*#Ops*/, 0, 1,
12069 // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
12070 // Dst: (GE_S_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
12071/* 23177*/ /*Scope*/ 12, /*->23190*/
12072/* 23178*/ OPC_CheckChild2CondCode, ISD::SETUGE,
12073/* 23180*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12074/* 23182*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_U_I8x16), 0,
12075 MVT::v16i8, 2/*#Ops*/, 0, 1,
12076 // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETUGE:{ *:[Other] }) - Complexity = 3
12077 // Dst: (GE_U_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
12078/* 23190*/ 0, /*End of Scope*/
12079/* 23191*/ /*SwitchType*/ 7|128,1/*135*/, MVT::v8i16,// ->23329
12080/* 23194*/ OPC_CheckChild0Type, MVT::v8i16,
12081/* 23196*/ OPC_RecordChild1, // #1 = $rhs
12082/* 23197*/ OPC_Scope, 12, /*->23211*/ // 10 children in Scope
12083/* 23199*/ OPC_CheckChild2CondCode, ISD::SETEQ,
12084/* 23201*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12085/* 23203*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_I16x8), 0,
12086 MVT::v8i16, 2/*#Ops*/, 0, 1,
12087 // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
12088 // Dst: (EQ_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
12089/* 23211*/ /*Scope*/ 12, /*->23224*/
12090/* 23212*/ OPC_CheckChild2CondCode, ISD::SETNE,
12091/* 23214*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12092/* 23216*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_I16x8), 0,
12093 MVT::v8i16, 2/*#Ops*/, 0, 1,
12094 // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
12095 // Dst: (NE_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
12096/* 23224*/ /*Scope*/ 12, /*->23237*/
12097/* 23225*/ OPC_CheckChild2CondCode, ISD::SETLT,
12098/* 23227*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12099/* 23229*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_S_I16x8), 0,
12100 MVT::v8i16, 2/*#Ops*/, 0, 1,
12101 // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
12102 // Dst: (LT_S_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
12103/* 23237*/ /*Scope*/ 12, /*->23250*/
12104/* 23238*/ OPC_CheckChild2CondCode, ISD::SETULT,
12105/* 23240*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12106/* 23242*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_U_I16x8), 0,
12107 MVT::v8i16, 2/*#Ops*/, 0, 1,
12108 // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETULT:{ *:[Other] }) - Complexity = 3
12109 // Dst: (LT_U_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
12110/* 23250*/ /*Scope*/ 12, /*->23263*/
12111/* 23251*/ OPC_CheckChild2CondCode, ISD::SETGT,
12112/* 23253*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12113/* 23255*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_S_I16x8), 0,
12114 MVT::v8i16, 2/*#Ops*/, 0, 1,
12115 // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
12116 // Dst: (GT_S_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
12117/* 23263*/ /*Scope*/ 12, /*->23276*/
12118/* 23264*/ OPC_CheckChild2CondCode, ISD::SETUGT,
12119/* 23266*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12120/* 23268*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_U_I16x8), 0,
12121 MVT::v8i16, 2/*#Ops*/, 0, 1,
12122 // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETUGT:{ *:[Other] }) - Complexity = 3
12123 // Dst: (GT_U_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
12124/* 23276*/ /*Scope*/ 12, /*->23289*/
12125/* 23277*/ OPC_CheckChild2CondCode, ISD::SETLE,
12126/* 23279*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12127/* 23281*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_S_I16x8), 0,
12128 MVT::v8i16, 2/*#Ops*/, 0, 1,
12129 // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
12130 // Dst: (LE_S_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
12131/* 23289*/ /*Scope*/ 12, /*->23302*/
12132/* 23290*/ OPC_CheckChild2CondCode, ISD::SETULE,
12133/* 23292*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12134/* 23294*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_U_I16x8), 0,
12135 MVT::v8i16, 2/*#Ops*/, 0, 1,
12136 // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETULE:{ *:[Other] }) - Complexity = 3
12137 // Dst: (LE_U_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
12138/* 23302*/ /*Scope*/ 12, /*->23315*/
12139/* 23303*/ OPC_CheckChild2CondCode, ISD::SETGE,
12140/* 23305*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12141/* 23307*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_S_I16x8), 0,
12142 MVT::v8i16, 2/*#Ops*/, 0, 1,
12143 // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
12144 // Dst: (GE_S_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
12145/* 23315*/ /*Scope*/ 12, /*->23328*/
12146/* 23316*/ OPC_CheckChild2CondCode, ISD::SETUGE,
12147/* 23318*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12148/* 23320*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_U_I16x8), 0,
12149 MVT::v8i16, 2/*#Ops*/, 0, 1,
12150 // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETUGE:{ *:[Other] }) - Complexity = 3
12151 // Dst: (GE_U_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
12152/* 23328*/ 0, /*End of Scope*/
12153/* 23329*/ /*SwitchType*/ 34|128,2/*290*/, MVT::v4i32,// ->23622
12154/* 23332*/ OPC_Scope, 7|128,1/*135*/, /*->23470*/ // 2 children in Scope
12155/* 23335*/ OPC_CheckChild0Type, MVT::v4i32,
12156/* 23337*/ OPC_RecordChild1, // #1 = $rhs
12157/* 23338*/ OPC_Scope, 12, /*->23352*/ // 10 children in Scope
12158/* 23340*/ OPC_CheckChild2CondCode, ISD::SETEQ,
12159/* 23342*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12160/* 23344*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_I32x4), 0,
12161 MVT::v4i32, 2/*#Ops*/, 0, 1,
12162 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
12163 // Dst: (EQ_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
12164/* 23352*/ /*Scope*/ 12, /*->23365*/
12165/* 23353*/ OPC_CheckChild2CondCode, ISD::SETNE,
12166/* 23355*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12167/* 23357*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_I32x4), 0,
12168 MVT::v4i32, 2/*#Ops*/, 0, 1,
12169 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
12170 // Dst: (NE_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
12171/* 23365*/ /*Scope*/ 12, /*->23378*/
12172/* 23366*/ OPC_CheckChild2CondCode, ISD::SETLT,
12173/* 23368*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12174/* 23370*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_S_I32x4), 0,
12175 MVT::v4i32, 2/*#Ops*/, 0, 1,
12176 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
12177 // Dst: (LT_S_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
12178/* 23378*/ /*Scope*/ 12, /*->23391*/
12179/* 23379*/ OPC_CheckChild2CondCode, ISD::SETULT,
12180/* 23381*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12181/* 23383*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_U_I32x4), 0,
12182 MVT::v4i32, 2/*#Ops*/, 0, 1,
12183 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETULT:{ *:[Other] }) - Complexity = 3
12184 // Dst: (LT_U_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
12185/* 23391*/ /*Scope*/ 12, /*->23404*/
12186/* 23392*/ OPC_CheckChild2CondCode, ISD::SETGT,
12187/* 23394*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12188/* 23396*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_S_I32x4), 0,
12189 MVT::v4i32, 2/*#Ops*/, 0, 1,
12190 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
12191 // Dst: (GT_S_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
12192/* 23404*/ /*Scope*/ 12, /*->23417*/
12193/* 23405*/ OPC_CheckChild2CondCode, ISD::SETUGT,
12194/* 23407*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12195/* 23409*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_U_I32x4), 0,
12196 MVT::v4i32, 2/*#Ops*/, 0, 1,
12197 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETUGT:{ *:[Other] }) - Complexity = 3
12198 // Dst: (GT_U_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
12199/* 23417*/ /*Scope*/ 12, /*->23430*/
12200/* 23418*/ OPC_CheckChild2CondCode, ISD::SETLE,
12201/* 23420*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12202/* 23422*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_S_I32x4), 0,
12203 MVT::v4i32, 2/*#Ops*/, 0, 1,
12204 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
12205 // Dst: (LE_S_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
12206/* 23430*/ /*Scope*/ 12, /*->23443*/
12207/* 23431*/ OPC_CheckChild2CondCode, ISD::SETULE,
12208/* 23433*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12209/* 23435*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_U_I32x4), 0,
12210 MVT::v4i32, 2/*#Ops*/, 0, 1,
12211 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETULE:{ *:[Other] }) - Complexity = 3
12212 // Dst: (LE_U_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
12213/* 23443*/ /*Scope*/ 12, /*->23456*/
12214/* 23444*/ OPC_CheckChild2CondCode, ISD::SETGE,
12215/* 23446*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12216/* 23448*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_S_I32x4), 0,
12217 MVT::v4i32, 2/*#Ops*/, 0, 1,
12218 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
12219 // Dst: (GE_S_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
12220/* 23456*/ /*Scope*/ 12, /*->23469*/
12221/* 23457*/ OPC_CheckChild2CondCode, ISD::SETUGE,
12222/* 23459*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12223/* 23461*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_U_I32x4), 0,
12224 MVT::v4i32, 2/*#Ops*/, 0, 1,
12225 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETUGE:{ *:[Other] }) - Complexity = 3
12226 // Dst: (GE_U_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
12227/* 23469*/ 0, /*End of Scope*/
12228/* 23470*/ /*Scope*/ 21|128,1/*149*/, /*->23621*/
12229/* 23472*/ OPC_CheckChild0Type, MVT::v4f32,
12230/* 23474*/ OPC_RecordChild1, // #1 = $rhs
12231/* 23475*/ OPC_Scope, 12, /*->23489*/ // 12 children in Scope
12232/* 23477*/ OPC_CheckChild2CondCode, ISD::SETOEQ,
12233/* 23479*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12234/* 23481*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_F32x4), 0,
12235 MVT::v4i32, 2/*#Ops*/, 0, 1,
12236 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETOEQ:{ *:[Other] }) - Complexity = 3
12237 // Dst: (EQ_F32x4:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
12238/* 23489*/ /*Scope*/ 12, /*->23502*/
12239/* 23490*/ OPC_CheckChild2CondCode, ISD::SETUNE,
12240/* 23492*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12241/* 23494*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_F32x4), 0,
12242 MVT::v4i32, 2/*#Ops*/, 0, 1,
12243 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETUNE:{ *:[Other] }) - Complexity = 3
12244 // Dst: (NE_F32x4:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
12245/* 23502*/ /*Scope*/ 12, /*->23515*/
12246/* 23503*/ OPC_CheckChild2CondCode, ISD::SETOLT,
12247/* 23505*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12248/* 23507*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_F32x4), 0,
12249 MVT::v4i32, 2/*#Ops*/, 0, 1,
12250 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETOLT:{ *:[Other] }) - Complexity = 3
12251 // Dst: (LT_F32x4:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
12252/* 23515*/ /*Scope*/ 12, /*->23528*/
12253/* 23516*/ OPC_CheckChild2CondCode, ISD::SETOGT,
12254/* 23518*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12255/* 23520*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_F32x4), 0,
12256 MVT::v4i32, 2/*#Ops*/, 0, 1,
12257 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETOGT:{ *:[Other] }) - Complexity = 3
12258 // Dst: (GT_F32x4:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
12259/* 23528*/ /*Scope*/ 12, /*->23541*/
12260/* 23529*/ OPC_CheckChild2CondCode, ISD::SETOLE,
12261/* 23531*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12262/* 23533*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_F32x4), 0,
12263 MVT::v4i32, 2/*#Ops*/, 0, 1,
12264 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETOLE:{ *:[Other] }) - Complexity = 3
12265 // Dst: (LE_F32x4:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
12266/* 23541*/ /*Scope*/ 12, /*->23554*/
12267/* 23542*/ OPC_CheckChild2CondCode, ISD::SETOGE,
12268/* 23544*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12269/* 23546*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_F32x4), 0,
12270 MVT::v4i32, 2/*#Ops*/, 0, 1,
12271 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETOGE:{ *:[Other] }) - Complexity = 3
12272 // Dst: (GE_F32x4:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
12273/* 23554*/ /*Scope*/ 10, /*->23565*/
12274/* 23555*/ OPC_CheckChild2CondCode, ISD::SETEQ,
12275/* 23557*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_F32x4), 0,
12276 MVT::v4i32, 2/*#Ops*/, 0, 1,
12277 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
12278 // Dst: (EQ_F32x4:{ *:[v4i32] } ?:{ *:[v4f32] }:$lhs, ?:{ *:[v4f32] }:$rhs)
12279/* 23565*/ /*Scope*/ 10, /*->23576*/
12280/* 23566*/ OPC_CheckChild2CondCode, ISD::SETNE,
12281/* 23568*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_F32x4), 0,
12282 MVT::v4i32, 2/*#Ops*/, 0, 1,
12283 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
12284 // Dst: (NE_F32x4:{ *:[v4i32] } ?:{ *:[v4f32] }:$lhs, ?:{ *:[v4f32] }:$rhs)
12285/* 23576*/ /*Scope*/ 10, /*->23587*/
12286/* 23577*/ OPC_CheckChild2CondCode, ISD::SETLT,
12287/* 23579*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_F32x4), 0,
12288 MVT::v4i32, 2/*#Ops*/, 0, 1,
12289 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
12290 // Dst: (LT_F32x4:{ *:[v4i32] } ?:{ *:[v4f32] }:$lhs, ?:{ *:[v4f32] }:$rhs)
12291/* 23587*/ /*Scope*/ 10, /*->23598*/
12292/* 23588*/ OPC_CheckChild2CondCode, ISD::SETGT,
12293/* 23590*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_F32x4), 0,
12294 MVT::v4i32, 2/*#Ops*/, 0, 1,
12295 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
12296 // Dst: (GT_F32x4:{ *:[v4i32] } ?:{ *:[v4f32] }:$lhs, ?:{ *:[v4f32] }:$rhs)
12297/* 23598*/ /*Scope*/ 10, /*->23609*/
12298/* 23599*/ OPC_CheckChild2CondCode, ISD::SETLE,
12299/* 23601*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_F32x4), 0,
12300 MVT::v4i32, 2/*#Ops*/, 0, 1,
12301 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
12302 // Dst: (LE_F32x4:{ *:[v4i32] } ?:{ *:[v4f32] }:$lhs, ?:{ *:[v4f32] }:$rhs)
12303/* 23609*/ /*Scope*/ 10, /*->23620*/
12304/* 23610*/ OPC_CheckChild2CondCode, ISD::SETGE,
12305/* 23612*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_F32x4), 0,
12306 MVT::v4i32, 2/*#Ops*/, 0, 1,
12307 // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
12308 // Dst: (GE_F32x4:{ *:[v4i32] } ?:{ *:[v4f32] }:$lhs, ?:{ *:[v4f32] }:$rhs)
12309/* 23620*/ 0, /*End of Scope*/
12310/* 23621*/ 0, /*End of Scope*/
12311/* 23622*/ /*SwitchType*/ 21|128,1/*149*/, MVT::v2i64,// ->23774
12312/* 23625*/ OPC_CheckChild0Type, MVT::v2f64,
12313/* 23627*/ OPC_RecordChild1, // #1 = $rhs
12314/* 23628*/ OPC_Scope, 12, /*->23642*/ // 12 children in Scope
12315/* 23630*/ OPC_CheckChild2CondCode, ISD::SETOEQ,
12316/* 23632*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12317/* 23634*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_F64x2), 0,
12318 MVT::v2i64, 2/*#Ops*/, 0, 1,
12319 // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETOEQ:{ *:[Other] }) - Complexity = 3
12320 // Dst: (EQ_F64x2:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
12321/* 23642*/ /*Scope*/ 12, /*->23655*/
12322/* 23643*/ OPC_CheckChild2CondCode, ISD::SETUNE,
12323/* 23645*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12324/* 23647*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_F64x2), 0,
12325 MVT::v2i64, 2/*#Ops*/, 0, 1,
12326 // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETUNE:{ *:[Other] }) - Complexity = 3
12327 // Dst: (NE_F64x2:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
12328/* 23655*/ /*Scope*/ 12, /*->23668*/
12329/* 23656*/ OPC_CheckChild2CondCode, ISD::SETOLT,
12330/* 23658*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12331/* 23660*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_F64x2), 0,
12332 MVT::v2i64, 2/*#Ops*/, 0, 1,
12333 // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETOLT:{ *:[Other] }) - Complexity = 3
12334 // Dst: (LT_F64x2:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
12335/* 23668*/ /*Scope*/ 12, /*->23681*/
12336/* 23669*/ OPC_CheckChild2CondCode, ISD::SETOGT,
12337/* 23671*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12338/* 23673*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_F64x2), 0,
12339 MVT::v2i64, 2/*#Ops*/, 0, 1,
12340 // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETOGT:{ *:[Other] }) - Complexity = 3
12341 // Dst: (GT_F64x2:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
12342/* 23681*/ /*Scope*/ 12, /*->23694*/
12343/* 23682*/ OPC_CheckChild2CondCode, ISD::SETOLE,
12344/* 23684*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12345/* 23686*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_F64x2), 0,
12346 MVT::v2i64, 2/*#Ops*/, 0, 1,
12347 // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETOLE:{ *:[Other] }) - Complexity = 3
12348 // Dst: (LE_F64x2:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
12349/* 23694*/ /*Scope*/ 12, /*->23707*/
12350/* 23695*/ OPC_CheckChild2CondCode, ISD::SETOGE,
12351/* 23697*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
12352/* 23699*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_F64x2), 0,
12353 MVT::v2i64, 2/*#Ops*/, 0, 1,
12354 // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETOGE:{ *:[Other] }) - Complexity = 3
12355 // Dst: (GE_F64x2:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
12356/* 23707*/ /*Scope*/ 10, /*->23718*/
12357/* 23708*/ OPC_CheckChild2CondCode, ISD::SETEQ,
12358/* 23710*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_F64x2), 0,
12359 MVT::v2i64, 2/*#Ops*/, 0, 1,
12360 // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
12361 // Dst: (EQ_F64x2:{ *:[v2i64] } ?:{ *:[v2f64] }:$lhs, ?:{ *:[v2f64] }:$rhs)
12362/* 23718*/ /*Scope*/ 10, /*->23729*/
12363/* 23719*/ OPC_CheckChild2CondCode, ISD::SETNE,
12364/* 23721*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_F64x2), 0,
12365 MVT::v2i64, 2/*#Ops*/, 0, 1,
12366 // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
12367 // Dst: (NE_F64x2:{ *:[v2i64] } ?:{ *:[v2f64] }:$lhs, ?:{ *:[v2f64] }:$rhs)
12368/* 23729*/ /*Scope*/ 10, /*->23740*/
12369/* 23730*/ OPC_CheckChild2CondCode, ISD::SETLT,
12370/* 23732*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_F64x2), 0,
12371 MVT::v2i64, 2/*#Ops*/, 0, 1,
12372 // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
12373 // Dst: (LT_F64x2:{ *:[v2i64] } ?:{ *:[v2f64] }:$lhs, ?:{ *:[v2f64] }:$rhs)
12374/* 23740*/ /*Scope*/ 10, /*->23751*/
12375/* 23741*/ OPC_CheckChild2CondCode, ISD::SETGT,
12376/* 23743*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_F64x2), 0,
12377 MVT::v2i64, 2/*#Ops*/, 0, 1,
12378 // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
12379 // Dst: (GT_F64x2:{ *:[v2i64] } ?:{ *:[v2f64] }:$lhs, ?:{ *:[v2f64] }:$rhs)
12380/* 23751*/ /*Scope*/ 10, /*->23762*/
12381/* 23752*/ OPC_CheckChild2CondCode, ISD::SETLE,
12382/* 23754*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_F64x2), 0,
12383 MVT::v2i64, 2/*#Ops*/, 0, 1,
12384 // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
12385 // Dst: (LE_F64x2:{ *:[v2i64] } ?:{ *:[v2f64] }:$lhs, ?:{ *:[v2f64] }:$rhs)
12386/* 23762*/ /*Scope*/ 10, /*->23773*/
12387/* 23763*/ OPC_CheckChild2CondCode, ISD::SETGE,
12388/* 23765*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_F64x2), 0,
12389 MVT::v2i64, 2/*#Ops*/, 0, 1,
12390 // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
12391 // Dst: (GE_F64x2:{ *:[v2i64] } ?:{ *:[v2f64] }:$lhs, ?:{ *:[v2f64] }:$rhs)
12392/* 23773*/ 0, /*End of Scope*/
12393/* 23774*/ 0, // EndSwitchType
12394/* 23775*/ 0, /*End of Scope*/
12395/* 23776*/ /*SwitchOpcode*/ 34|128,15/*1954*/, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),// ->25734
12396/* 23780*/ OPC_Scope, 87|128,4/*599*/, /*->24382*/ // 3 children in Scope
12397/* 23783*/ OPC_RecordMemRef,
12398/* 23784*/ OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
12399/* 23785*/ OPC_Scope, 61|128,1/*189*/, /*->23977*/ // 3 children in Scope
12400/* 23788*/ OPC_CheckChild1Integer, 43|128,67/*8619*/,
12401/* 23791*/ OPC_MoveChild2,
12402/* 23792*/ OPC_SwitchOpcode /*3 cases */, 55, TARGET_VAL(ISD::ADD),// ->23851
12403/* 23796*/ OPC_RecordChild0, // #1 = $addr
12404/* 23797*/ OPC_RecordChild1, // #2 = $off
12405/* 23798*/ OPC_MoveChild1,
12406/* 23799*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12407/* 23802*/ OPC_MoveParent,
12408/* 23803*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
12409/* 23805*/ OPC_SwitchType /*2 cases */, 20, MVT::i32,// ->23828
12410/* 23808*/ OPC_MoveParent,
12411/* 23809*/ OPC_RecordChild3, // #3 = $count
12412/* 23810*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12413/* 23812*/ OPC_EmitMergeInputChains1_0,
12414/* 23813*/ OPC_EmitInteger, MVT::i32, 0,
12415/* 23816*/ OPC_EmitConvertToTarget, 2,
12416/* 23818*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_NOTIFY_A32), 0|OPFL_Chain|OPFL_MemRefs,
12417 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
12418 // Src: (intrinsic_w_chain:{ *:[i32] } 8619:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, I32:{ *:[i32] }:$count) - Complexity = 15
12419 // Dst: (MEMORY_ATOMIC_NOTIFY_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
12420/* 23828*/ /*SwitchType*/ 20, MVT::i64,// ->23850
12421/* 23830*/ OPC_MoveParent,
12422/* 23831*/ OPC_RecordChild3, // #3 = $count
12423/* 23832*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12424/* 23834*/ OPC_EmitMergeInputChains1_0,
12425/* 23835*/ OPC_EmitInteger, MVT::i32, 0,
12426/* 23838*/ OPC_EmitConvertToTarget, 2,
12427/* 23840*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_NOTIFY_A64), 0|OPFL_Chain|OPFL_MemRefs,
12428 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
12429 // Src: (intrinsic_w_chain:{ *:[i32] } 8619:{ *:[iPTR] }, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, I32:{ *:[i32] }:$count) - Complexity = 15
12430 // Dst: (MEMORY_ATOMIC_NOTIFY_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, I32:{ *:[i32] }:$count)
12431/* 23850*/ 0, // EndSwitchType
12432/* 23851*/ /*SwitchOpcode*/ 55, TARGET_VAL(ISD::OR),// ->23909
12433/* 23854*/ OPC_RecordChild0, // #1 = $addr
12434/* 23855*/ OPC_RecordChild1, // #2 = $off
12435/* 23856*/ OPC_MoveChild1,
12436/* 23857*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12437/* 23860*/ OPC_MoveParent,
12438/* 23861*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
12439/* 23863*/ OPC_SwitchType /*2 cases */, 20, MVT::i32,// ->23886
12440/* 23866*/ OPC_MoveParent,
12441/* 23867*/ OPC_RecordChild3, // #3 = $count
12442/* 23868*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12443/* 23870*/ OPC_EmitMergeInputChains1_0,
12444/* 23871*/ OPC_EmitInteger, MVT::i32, 0,
12445/* 23874*/ OPC_EmitConvertToTarget, 2,
12446/* 23876*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_NOTIFY_A32), 0|OPFL_Chain|OPFL_MemRefs,
12447 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
12448 // Src: (intrinsic_w_chain:{ *:[i32] } 8619:{ *:[iPTR] }, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, I32:{ *:[i32] }:$count) - Complexity = 15
12449 // Dst: (MEMORY_ATOMIC_NOTIFY_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
12450/* 23886*/ /*SwitchType*/ 20, MVT::i64,// ->23908
12451/* 23888*/ OPC_MoveParent,
12452/* 23889*/ OPC_RecordChild3, // #3 = $count
12453/* 23890*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12454/* 23892*/ OPC_EmitMergeInputChains1_0,
12455/* 23893*/ OPC_EmitInteger, MVT::i32, 0,
12456/* 23896*/ OPC_EmitConvertToTarget, 2,
12457/* 23898*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_NOTIFY_A64), 0|OPFL_Chain|OPFL_MemRefs,
12458 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
12459 // Src: (intrinsic_w_chain:{ *:[i32] } 8619:{ *:[iPTR] }, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, I32:{ *:[i32] }:$count) - Complexity = 15
12460 // Dst: (MEMORY_ATOMIC_NOTIFY_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, I32:{ *:[i32] }:$count)
12461/* 23908*/ 0, // EndSwitchType
12462/* 23909*/ /*SwitchOpcode*/ 64, TARGET_VAL(WebAssemblyISD::Wrapper),// ->23976
12463/* 23912*/ OPC_RecordChild0, // #1 = $off
12464/* 23913*/ OPC_MoveChild0,
12465/* 23914*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
12466/* 23917*/ OPC_MoveParent,
12467/* 23918*/ OPC_MoveParent,
12468/* 23919*/ OPC_RecordChild3, // #2 = $count
12469/* 23920*/ OPC_Scope, 26, /*->23948*/ // 2 children in Scope
12470/* 23922*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
12471/* 23924*/ OPC_EmitMergeInputChains1_0,
12472/* 23925*/ OPC_EmitInteger, MVT::i32, 0,
12473/* 23928*/ OPC_EmitInteger, MVT::i32, 0,
12474/* 23931*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12475 MVT::i32, 1/*#Ops*/, 4, // Results = #5
12476/* 23938*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_NOTIFY_A32), 0|OPFL_Chain|OPFL_MemRefs,
12477 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
12478 // Src: (intrinsic_w_chain:{ *:[i32] } 8619:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), I32:{ *:[i32] }:$count) - Complexity = 14
12479 // Dst: (MEMORY_ATOMIC_NOTIFY_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), I32:{ *:[i32] }:$count)
12480/* 23948*/ /*Scope*/ 26, /*->23975*/
12481/* 23949*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
12482/* 23951*/ OPC_EmitMergeInputChains1_0,
12483/* 23952*/ OPC_EmitInteger, MVT::i32, 0,
12484/* 23955*/ OPC_EmitInteger, MVT::i64, 0,
12485/* 23958*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
12486 MVT::i64, 1/*#Ops*/, 4, // Results = #5
12487/* 23965*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_NOTIFY_A64), 0|OPFL_Chain|OPFL_MemRefs,
12488 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
12489 // Src: (intrinsic_w_chain:{ *:[i32] } 8619:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), I32:{ *:[i32] }:$count) - Complexity = 14
12490 // Dst: (MEMORY_ATOMIC_NOTIFY_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), I32:{ *:[i32] }:$count)
12491/* 23975*/ 0, /*End of Scope*/
12492/* 23976*/ 0, // EndSwitchOpcode
12493/* 23977*/ /*Scope*/ 72|128,1/*200*/, /*->24179*/
12494/* 23979*/ OPC_CheckChild1Integer, 44|128,67/*8620*/,
12495/* 23982*/ OPC_MoveChild2,
12496/* 23983*/ OPC_SwitchOpcode /*3 cases */, 59, TARGET_VAL(ISD::ADD),// ->24046
12497/* 23987*/ OPC_RecordChild0, // #1 = $addr
12498/* 23988*/ OPC_RecordChild1, // #2 = $off
12499/* 23989*/ OPC_MoveChild1,
12500/* 23990*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12501/* 23993*/ OPC_MoveParent,
12502/* 23994*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
12503/* 23996*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->24021
12504/* 23999*/ OPC_MoveParent,
12505/* 24000*/ OPC_RecordChild3, // #3 = $exp
12506/* 24001*/ OPC_RecordChild4, // #4 = $timeout
12507/* 24002*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12508/* 24004*/ OPC_EmitMergeInputChains1_0,
12509/* 24005*/ OPC_EmitInteger, MVT::i32, 0,
12510/* 24008*/ OPC_EmitConvertToTarget, 2,
12511/* 24010*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT32_A32), 0|OPFL_Chain|OPFL_MemRefs,
12512 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
12513 // Src: (intrinsic_w_chain:{ *:[i32] } 8620:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 15
12514 // Dst: (MEMORY_ATOMIC_WAIT32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
12515/* 24021*/ /*SwitchType*/ 22, MVT::i64,// ->24045
12516/* 24023*/ OPC_MoveParent,
12517/* 24024*/ OPC_RecordChild3, // #3 = $exp
12518/* 24025*/ OPC_RecordChild4, // #4 = $timeout
12519/* 24026*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12520/* 24028*/ OPC_EmitMergeInputChains1_0,
12521/* 24029*/ OPC_EmitInteger, MVT::i32, 0,
12522/* 24032*/ OPC_EmitConvertToTarget, 2,
12523/* 24034*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT32_A64), 0|OPFL_Chain|OPFL_MemRefs,
12524 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
12525 // Src: (intrinsic_w_chain:{ *:[i32] } 8620:{ *:[iPTR] }, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 15
12526 // Dst: (MEMORY_ATOMIC_WAIT32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
12527/* 24045*/ 0, // EndSwitchType
12528/* 24046*/ /*SwitchOpcode*/ 59, TARGET_VAL(ISD::OR),// ->24108
12529/* 24049*/ OPC_RecordChild0, // #1 = $addr
12530/* 24050*/ OPC_RecordChild1, // #2 = $off
12531/* 24051*/ OPC_MoveChild1,
12532/* 24052*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12533/* 24055*/ OPC_MoveParent,
12534/* 24056*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
12535/* 24058*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->24083
12536/* 24061*/ OPC_MoveParent,
12537/* 24062*/ OPC_RecordChild3, // #3 = $exp
12538/* 24063*/ OPC_RecordChild4, // #4 = $timeout
12539/* 24064*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12540/* 24066*/ OPC_EmitMergeInputChains1_0,
12541/* 24067*/ OPC_EmitInteger, MVT::i32, 0,
12542/* 24070*/ OPC_EmitConvertToTarget, 2,
12543/* 24072*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT32_A32), 0|OPFL_Chain|OPFL_MemRefs,
12544 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
12545 // Src: (intrinsic_w_chain:{ *:[i32] } 8620:{ *:[iPTR] }, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 15
12546 // Dst: (MEMORY_ATOMIC_WAIT32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
12547/* 24083*/ /*SwitchType*/ 22, MVT::i64,// ->24107
12548/* 24085*/ OPC_MoveParent,
12549/* 24086*/ OPC_RecordChild3, // #3 = $exp
12550/* 24087*/ OPC_RecordChild4, // #4 = $timeout
12551/* 24088*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12552/* 24090*/ OPC_EmitMergeInputChains1_0,
12553/* 24091*/ OPC_EmitInteger, MVT::i32, 0,
12554/* 24094*/ OPC_EmitConvertToTarget, 2,
12555/* 24096*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT32_A64), 0|OPFL_Chain|OPFL_MemRefs,
12556 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
12557 // Src: (intrinsic_w_chain:{ *:[i32] } 8620:{ *:[iPTR] }, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 15
12558 // Dst: (MEMORY_ATOMIC_WAIT32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
12559/* 24107*/ 0, // EndSwitchType
12560/* 24108*/ /*SwitchOpcode*/ 67, TARGET_VAL(WebAssemblyISD::Wrapper),// ->24178
12561/* 24111*/ OPC_RecordChild0, // #1 = $off
12562/* 24112*/ OPC_MoveChild0,
12563/* 24113*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
12564/* 24116*/ OPC_MoveParent,
12565/* 24117*/ OPC_MoveParent,
12566/* 24118*/ OPC_RecordChild3, // #2 = $exp
12567/* 24119*/ OPC_RecordChild4, // #3 = $timeout
12568/* 24120*/ OPC_Scope, 27, /*->24149*/ // 2 children in Scope
12569/* 24122*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
12570/* 24124*/ OPC_EmitMergeInputChains1_0,
12571/* 24125*/ OPC_EmitInteger, MVT::i32, 0,
12572/* 24128*/ OPC_EmitInteger, MVT::i32, 0,
12573/* 24131*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12574 MVT::i32, 1/*#Ops*/, 5, // Results = #6
12575/* 24138*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT32_A32), 0|OPFL_Chain|OPFL_MemRefs,
12576 MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
12577 // Src: (intrinsic_w_chain:{ *:[i32] } 8620:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 14
12578 // Dst: (MEMORY_ATOMIC_WAIT32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
12579/* 24149*/ /*Scope*/ 27, /*->24177*/
12580/* 24150*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
12581/* 24152*/ OPC_EmitMergeInputChains1_0,
12582/* 24153*/ OPC_EmitInteger, MVT::i32, 0,
12583/* 24156*/ OPC_EmitInteger, MVT::i64, 0,
12584/* 24159*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
12585 MVT::i64, 1/*#Ops*/, 5, // Results = #6
12586/* 24166*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT32_A64), 0|OPFL_Chain|OPFL_MemRefs,
12587 MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
12588 // Src: (intrinsic_w_chain:{ *:[i32] } 8620:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 14
12589 // Dst: (MEMORY_ATOMIC_WAIT32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
12590/* 24177*/ 0, /*End of Scope*/
12591/* 24178*/ 0, // EndSwitchOpcode
12592/* 24179*/ /*Scope*/ 72|128,1/*200*/, /*->24381*/
12593/* 24181*/ OPC_CheckChild1Integer, 45|128,67/*8621*/,
12594/* 24184*/ OPC_MoveChild2,
12595/* 24185*/ OPC_SwitchOpcode /*3 cases */, 59, TARGET_VAL(ISD::ADD),// ->24248
12596/* 24189*/ OPC_RecordChild0, // #1 = $addr
12597/* 24190*/ OPC_RecordChild1, // #2 = $off
12598/* 24191*/ OPC_MoveChild1,
12599/* 24192*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12600/* 24195*/ OPC_MoveParent,
12601/* 24196*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
12602/* 24198*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->24223
12603/* 24201*/ OPC_MoveParent,
12604/* 24202*/ OPC_RecordChild3, // #3 = $exp
12605/* 24203*/ OPC_RecordChild4, // #4 = $timeout
12606/* 24204*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12607/* 24206*/ OPC_EmitMergeInputChains1_0,
12608/* 24207*/ OPC_EmitInteger, MVT::i32, 0,
12609/* 24210*/ OPC_EmitConvertToTarget, 2,
12610/* 24212*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT64_A32), 0|OPFL_Chain|OPFL_MemRefs,
12611 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
12612 // Src: (intrinsic_w_chain:{ *:[i32] } 8621:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 15
12613 // Dst: (MEMORY_ATOMIC_WAIT64_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
12614/* 24223*/ /*SwitchType*/ 22, MVT::i64,// ->24247
12615/* 24225*/ OPC_MoveParent,
12616/* 24226*/ OPC_RecordChild3, // #3 = $exp
12617/* 24227*/ OPC_RecordChild4, // #4 = $timeout
12618/* 24228*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12619/* 24230*/ OPC_EmitMergeInputChains1_0,
12620/* 24231*/ OPC_EmitInteger, MVT::i32, 0,
12621/* 24234*/ OPC_EmitConvertToTarget, 2,
12622/* 24236*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT64_A64), 0|OPFL_Chain|OPFL_MemRefs,
12623 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
12624 // Src: (intrinsic_w_chain:{ *:[i32] } 8621:{ *:[iPTR] }, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 15
12625 // Dst: (MEMORY_ATOMIC_WAIT64_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
12626/* 24247*/ 0, // EndSwitchType
12627/* 24248*/ /*SwitchOpcode*/ 59, TARGET_VAL(ISD::OR),// ->24310
12628/* 24251*/ OPC_RecordChild0, // #1 = $addr
12629/* 24252*/ OPC_RecordChild1, // #2 = $off
12630/* 24253*/ OPC_MoveChild1,
12631/* 24254*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12632/* 24257*/ OPC_MoveParent,
12633/* 24258*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
12634/* 24260*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->24285
12635/* 24263*/ OPC_MoveParent,
12636/* 24264*/ OPC_RecordChild3, // #3 = $exp
12637/* 24265*/ OPC_RecordChild4, // #4 = $timeout
12638/* 24266*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12639/* 24268*/ OPC_EmitMergeInputChains1_0,
12640/* 24269*/ OPC_EmitInteger, MVT::i32, 0,
12641/* 24272*/ OPC_EmitConvertToTarget, 2,
12642/* 24274*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT64_A32), 0|OPFL_Chain|OPFL_MemRefs,
12643 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
12644 // Src: (intrinsic_w_chain:{ *:[i32] } 8621:{ *:[iPTR] }, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 15
12645 // Dst: (MEMORY_ATOMIC_WAIT64_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
12646/* 24285*/ /*SwitchType*/ 22, MVT::i64,// ->24309
12647/* 24287*/ OPC_MoveParent,
12648/* 24288*/ OPC_RecordChild3, // #3 = $exp
12649/* 24289*/ OPC_RecordChild4, // #4 = $timeout
12650/* 24290*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12651/* 24292*/ OPC_EmitMergeInputChains1_0,
12652/* 24293*/ OPC_EmitInteger, MVT::i32, 0,
12653/* 24296*/ OPC_EmitConvertToTarget, 2,
12654/* 24298*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT64_A64), 0|OPFL_Chain|OPFL_MemRefs,
12655 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
12656 // Src: (intrinsic_w_chain:{ *:[i32] } 8621:{ *:[iPTR] }, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 15
12657 // Dst: (MEMORY_ATOMIC_WAIT64_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
12658/* 24309*/ 0, // EndSwitchType
12659/* 24310*/ /*SwitchOpcode*/ 67, TARGET_VAL(WebAssemblyISD::Wrapper),// ->24380
12660/* 24313*/ OPC_RecordChild0, // #1 = $off
12661/* 24314*/ OPC_MoveChild0,
12662/* 24315*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
12663/* 24318*/ OPC_MoveParent,
12664/* 24319*/ OPC_MoveParent,
12665/* 24320*/ OPC_RecordChild3, // #2 = $exp
12666/* 24321*/ OPC_RecordChild4, // #3 = $timeout
12667/* 24322*/ OPC_Scope, 27, /*->24351*/ // 2 children in Scope
12668/* 24324*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
12669/* 24326*/ OPC_EmitMergeInputChains1_0,
12670/* 24327*/ OPC_EmitInteger, MVT::i32, 0,
12671/* 24330*/ OPC_EmitInteger, MVT::i32, 0,
12672/* 24333*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12673 MVT::i32, 1/*#Ops*/, 5, // Results = #6
12674/* 24340*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT64_A32), 0|OPFL_Chain|OPFL_MemRefs,
12675 MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
12676 // Src: (intrinsic_w_chain:{ *:[i32] } 8621:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 14
12677 // Dst: (MEMORY_ATOMIC_WAIT64_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
12678/* 24351*/ /*Scope*/ 27, /*->24379*/
12679/* 24352*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
12680/* 24354*/ OPC_EmitMergeInputChains1_0,
12681/* 24355*/ OPC_EmitInteger, MVT::i32, 0,
12682/* 24358*/ OPC_EmitInteger, MVT::i64, 0,
12683/* 24361*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
12684 MVT::i64, 1/*#Ops*/, 5, // Results = #6
12685/* 24368*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT64_A64), 0|OPFL_Chain|OPFL_MemRefs,
12686 MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
12687 // Src: (intrinsic_w_chain:{ *:[i32] } 8621:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 14
12688 // Dst: (MEMORY_ATOMIC_WAIT64_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
12689/* 24379*/ 0, /*End of Scope*/
12690/* 24380*/ 0, // EndSwitchOpcode
12691/* 24381*/ 0, /*End of Scope*/
12692/* 24382*/ /*Scope*/ 82, /*->24465*/
12693/* 24383*/ OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
12694/* 24384*/ OPC_Scope, 35, /*->24421*/ // 2 children in Scope
12695/* 24386*/ OPC_CheckChild1Integer, 47|128,67/*8623*/,
12696/* 24389*/ OPC_RecordChild2, // #1 = $flags
12697/* 24390*/ OPC_MoveChild2,
12698/* 24391*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12699/* 24394*/ OPC_MoveParent,
12700/* 24395*/ OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->24408
12701/* 24398*/ OPC_EmitMergeInputChains1_0,
12702/* 24399*/ OPC_EmitConvertToTarget, 1,
12703/* 24401*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::anonymous_2715MEMORY_SIZE_A32), 0|OPFL_Chain,
12704 MVT::i32, 1/*#Ops*/, 2,
12705 // Src: (intrinsic_w_chain:{ *:[i32] } 8623:{ *:[iPTR] }, (imm:{ *:[i32] }):$flags) - Complexity = 11
12706 // Dst: (anonymous_2715MEMORY_SIZE_A32:{ *:[i32] } (imm:{ *:[i32] }):$flags)
12707/* 24408*/ /*SwitchType*/ 10, MVT::i64,// ->24420
12708/* 24410*/ OPC_EmitMergeInputChains1_0,
12709/* 24411*/ OPC_EmitConvertToTarget, 1,
12710/* 24413*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::anonymous_2716MEMORY_SIZE_A64), 0|OPFL_Chain,
12711 MVT::i64, 1/*#Ops*/, 2,
12712 // Src: (intrinsic_w_chain:{ *:[i64] } 8623:{ *:[iPTR] }, (imm:{ *:[i32] }):$flags) - Complexity = 11
12713 // Dst: (anonymous_2716MEMORY_SIZE_A64:{ *:[i64] } (imm:{ *:[i32] }):$flags)
12714/* 24420*/ 0, // EndSwitchType
12715/* 24421*/ /*Scope*/ 42, /*->24464*/
12716/* 24422*/ OPC_CheckChild1Integer, 46|128,67/*8622*/,
12717/* 24425*/ OPC_RecordChild2, // #1 = $flags
12718/* 24426*/ OPC_MoveChild2,
12719/* 24427*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12720/* 24430*/ OPC_MoveParent,
12721/* 24431*/ OPC_RecordChild3, // #2 = $delta
12722/* 24432*/ OPC_SwitchType /*2 cases */, 13, MVT::i32,// ->24448
12723/* 24435*/ OPC_CheckChild3Type, MVT::i32,
12724/* 24437*/ OPC_EmitMergeInputChains1_0,
12725/* 24438*/ OPC_EmitConvertToTarget, 1,
12726/* 24440*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::anonymous_2715MEMORY_GROW_A32), 0|OPFL_Chain,
12727 MVT::i32, 2/*#Ops*/, 3, 2,
12728 // Src: (intrinsic_w_chain:{ *:[i32] } 8622:{ *:[iPTR] }, (imm:{ *:[i32] }):$flags, I32:{ *:[i32] }:$delta) - Complexity = 11
12729 // Dst: (anonymous_2715MEMORY_GROW_A32:{ *:[i32] } (imm:{ *:[i32] }):$flags, I32:{ *:[i32] }:$delta)
12730/* 24448*/ /*SwitchType*/ 13, MVT::i64,// ->24463
12731/* 24450*/ OPC_CheckChild3Type, MVT::i64,
12732/* 24452*/ OPC_EmitMergeInputChains1_0,
12733/* 24453*/ OPC_EmitConvertToTarget, 1,
12734/* 24455*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::anonymous_2716MEMORY_GROW_A64), 0|OPFL_Chain,
12735 MVT::i64, 2/*#Ops*/, 3, 2,
12736 // Src: (intrinsic_w_chain:{ *:[i64] } 8622:{ *:[iPTR] }, (imm:{ *:[i32] }):$flags, I64:{ *:[i64] }:$delta) - Complexity = 11
12737 // Dst: (anonymous_2716MEMORY_GROW_A64:{ *:[i64] } (imm:{ *:[i32] }):$flags, I64:{ *:[i64] }:$delta)
12738/* 24463*/ 0, // EndSwitchType
12739/* 24464*/ 0, /*End of Scope*/
12740/* 24465*/ /*Scope*/ 114|128,9/*1266*/, /*->25733*/
12741/* 24467*/ OPC_RecordMemRef,
12742/* 24468*/ OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
12743/* 24469*/ OPC_Scope, 119, /*->24590*/ // 9 children in Scope
12744/* 24471*/ OPC_CheckChild1Integer, 43|128,67/*8619*/,
12745/* 24474*/ OPC_RecordChild2, // #1 = $off
12746/* 24475*/ OPC_Scope, 66, /*->24543*/ // 3 children in Scope
12747/* 24477*/ OPC_MoveChild2,
12748/* 24478*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12749/* 24481*/ OPC_MoveParent,
12750/* 24482*/ OPC_RecordChild3, // #2 = $count
12751/* 24483*/ OPC_Scope, 28, /*->24513*/ // 2 children in Scope
12752/* 24485*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12753/* 24487*/ OPC_EmitMergeInputChains1_0,
12754/* 24488*/ OPC_EmitInteger, MVT::i32, 0,
12755/* 24491*/ OPC_EmitConvertToTarget, 1,
12756/* 24493*/ OPC_EmitInteger, MVT::i32, 0,
12757/* 24496*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12758 MVT::i32, 1/*#Ops*/, 5, // Results = #6
12759/* 24503*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_NOTIFY_A32), 0|OPFL_Chain|OPFL_MemRefs,
12760 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
12761 // Src: (intrinsic_w_chain:{ *:[i32] } 8619:{ *:[iPTR] }, (imm:{ *:[iPTR] }):$off, I32:{ *:[i32] }:$count) - Complexity = 11
12762 // Dst: (MEMORY_ATOMIC_NOTIFY_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), I32:{ *:[i32] }:$count)
12763/* 24513*/ /*Scope*/ 28, /*->24542*/
12764/* 24514*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12765/* 24516*/ OPC_EmitMergeInputChains1_0,
12766/* 24517*/ OPC_EmitInteger, MVT::i32, 0,
12767/* 24520*/ OPC_EmitConvertToTarget, 1,
12768/* 24522*/ OPC_EmitInteger, MVT::i64, 0,
12769/* 24525*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
12770 MVT::i64, 1/*#Ops*/, 5, // Results = #6
12771/* 24532*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_NOTIFY_A64), 0|OPFL_Chain|OPFL_MemRefs,
12772 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
12773 // Src: (intrinsic_w_chain:{ *:[i32] } 8619:{ *:[iPTR] }, (imm:{ *:[iPTR] }):$off, I32:{ *:[i32] }:$count) - Complexity = 11
12774 // Dst: (MEMORY_ATOMIC_NOTIFY_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), I32:{ *:[i32] }:$count)
12775/* 24542*/ 0, /*End of Scope*/
12776/* 24543*/ /*Scope*/ 22, /*->24566*/
12777/* 24544*/ OPC_CheckChild2Type, MVT::i32,
12778/* 24546*/ OPC_RecordChild3, // #2 = $count
12779/* 24547*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12780/* 24549*/ OPC_EmitMergeInputChains1_0,
12781/* 24550*/ OPC_EmitInteger, MVT::i32, 0,
12782/* 24553*/ OPC_EmitInteger, MVT::i32, 0,
12783/* 24556*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_NOTIFY_A32), 0|OPFL_Chain|OPFL_MemRefs,
12784 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
12785 // Src: (intrinsic_w_chain:{ *:[i32] } 8619:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count) - Complexity = 8
12786 // Dst: (MEMORY_ATOMIC_NOTIFY_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
12787/* 24566*/ /*Scope*/ 22, /*->24589*/
12788/* 24567*/ OPC_CheckChild2Type, MVT::i64,
12789/* 24569*/ OPC_RecordChild3, // #2 = $count
12790/* 24570*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12791/* 24572*/ OPC_EmitMergeInputChains1_0,
12792/* 24573*/ OPC_EmitInteger, MVT::i32, 0,
12793/* 24576*/ OPC_EmitInteger, MVT::i64, 0,
12794/* 24579*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_NOTIFY_A64), 0|OPFL_Chain|OPFL_MemRefs,
12795 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
12796 // Src: (intrinsic_w_chain:{ *:[i32] } 8619:{ *:[iPTR] }, I64:{ *:[i64] }:$addr, I32:{ *:[i32] }:$count) - Complexity = 8
12797 // Dst: (MEMORY_ATOMIC_NOTIFY_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, I32:{ *:[i32] }:$count)
12798/* 24589*/ 0, /*End of Scope*/
12799/* 24590*/ /*Scope*/ 126, /*->24717*/
12800/* 24591*/ OPC_CheckChild1Integer, 44|128,67/*8620*/,
12801/* 24594*/ OPC_RecordChild2, // #1 = $off
12802/* 24595*/ OPC_Scope, 69, /*->24666*/ // 3 children in Scope
12803/* 24597*/ OPC_MoveChild2,
12804/* 24598*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12805/* 24601*/ OPC_MoveParent,
12806/* 24602*/ OPC_RecordChild3, // #2 = $exp
12807/* 24603*/ OPC_RecordChild4, // #3 = $timeout
12808/* 24604*/ OPC_Scope, 29, /*->24635*/ // 2 children in Scope
12809/* 24606*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12810/* 24608*/ OPC_EmitMergeInputChains1_0,
12811/* 24609*/ OPC_EmitInteger, MVT::i32, 0,
12812/* 24612*/ OPC_EmitConvertToTarget, 1,
12813/* 24614*/ OPC_EmitInteger, MVT::i32, 0,
12814/* 24617*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12815 MVT::i32, 1/*#Ops*/, 6, // Results = #7
12816/* 24624*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT32_A32), 0|OPFL_Chain|OPFL_MemRefs,
12817 MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
12818 // Src: (intrinsic_w_chain:{ *:[i32] } 8620:{ *:[iPTR] }, (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 11
12819 // Dst: (MEMORY_ATOMIC_WAIT32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
12820/* 24635*/ /*Scope*/ 29, /*->24665*/
12821/* 24636*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12822/* 24638*/ OPC_EmitMergeInputChains1_0,
12823/* 24639*/ OPC_EmitInteger, MVT::i32, 0,
12824/* 24642*/ OPC_EmitConvertToTarget, 1,
12825/* 24644*/ OPC_EmitInteger, MVT::i64, 0,
12826/* 24647*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
12827 MVT::i64, 1/*#Ops*/, 6, // Results = #7
12828/* 24654*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT32_A64), 0|OPFL_Chain|OPFL_MemRefs,
12829 MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
12830 // Src: (intrinsic_w_chain:{ *:[i32] } 8620:{ *:[iPTR] }, (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 11
12831 // Dst: (MEMORY_ATOMIC_WAIT32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
12832/* 24665*/ 0, /*End of Scope*/
12833/* 24666*/ /*Scope*/ 24, /*->24691*/
12834/* 24667*/ OPC_CheckChild2Type, MVT::i32,
12835/* 24669*/ OPC_RecordChild3, // #2 = $exp
12836/* 24670*/ OPC_RecordChild4, // #3 = $timeout
12837/* 24671*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12838/* 24673*/ OPC_EmitMergeInputChains1_0,
12839/* 24674*/ OPC_EmitInteger, MVT::i32, 0,
12840/* 24677*/ OPC_EmitInteger, MVT::i32, 0,
12841/* 24680*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT32_A32), 0|OPFL_Chain|OPFL_MemRefs,
12842 MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
12843 // Src: (intrinsic_w_chain:{ *:[i32] } 8620:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 8
12844 // Dst: (MEMORY_ATOMIC_WAIT32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
12845/* 24691*/ /*Scope*/ 24, /*->24716*/
12846/* 24692*/ OPC_CheckChild2Type, MVT::i64,
12847/* 24694*/ OPC_RecordChild3, // #2 = $exp
12848/* 24695*/ OPC_RecordChild4, // #3 = $timeout
12849/* 24696*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12850/* 24698*/ OPC_EmitMergeInputChains1_0,
12851/* 24699*/ OPC_EmitInteger, MVT::i32, 0,
12852/* 24702*/ OPC_EmitInteger, MVT::i64, 0,
12853/* 24705*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT32_A64), 0|OPFL_Chain|OPFL_MemRefs,
12854 MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
12855 // Src: (intrinsic_w_chain:{ *:[i32] } 8620:{ *:[iPTR] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 8
12856 // Dst: (MEMORY_ATOMIC_WAIT32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
12857/* 24716*/ 0, /*End of Scope*/
12858/* 24717*/ /*Scope*/ 126, /*->24844*/
12859/* 24718*/ OPC_CheckChild1Integer, 45|128,67/*8621*/,
12860/* 24721*/ OPC_RecordChild2, // #1 = $off
12861/* 24722*/ OPC_Scope, 69, /*->24793*/ // 3 children in Scope
12862/* 24724*/ OPC_MoveChild2,
12863/* 24725*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12864/* 24728*/ OPC_MoveParent,
12865/* 24729*/ OPC_RecordChild3, // #2 = $exp
12866/* 24730*/ OPC_RecordChild4, // #3 = $timeout
12867/* 24731*/ OPC_Scope, 29, /*->24762*/ // 2 children in Scope
12868/* 24733*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12869/* 24735*/ OPC_EmitMergeInputChains1_0,
12870/* 24736*/ OPC_EmitInteger, MVT::i32, 0,
12871/* 24739*/ OPC_EmitConvertToTarget, 1,
12872/* 24741*/ OPC_EmitInteger, MVT::i32, 0,
12873/* 24744*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12874 MVT::i32, 1/*#Ops*/, 6, // Results = #7
12875/* 24751*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT64_A32), 0|OPFL_Chain|OPFL_MemRefs,
12876 MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
12877 // Src: (intrinsic_w_chain:{ *:[i32] } 8621:{ *:[iPTR] }, (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 11
12878 // Dst: (MEMORY_ATOMIC_WAIT64_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
12879/* 24762*/ /*Scope*/ 29, /*->24792*/
12880/* 24763*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12881/* 24765*/ OPC_EmitMergeInputChains1_0,
12882/* 24766*/ OPC_EmitInteger, MVT::i32, 0,
12883/* 24769*/ OPC_EmitConvertToTarget, 1,
12884/* 24771*/ OPC_EmitInteger, MVT::i64, 0,
12885/* 24774*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
12886 MVT::i64, 1/*#Ops*/, 6, // Results = #7
12887/* 24781*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT64_A64), 0|OPFL_Chain|OPFL_MemRefs,
12888 MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
12889 // Src: (intrinsic_w_chain:{ *:[i32] } 8621:{ *:[iPTR] }, (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 11
12890 // Dst: (MEMORY_ATOMIC_WAIT64_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
12891/* 24792*/ 0, /*End of Scope*/
12892/* 24793*/ /*Scope*/ 24, /*->24818*/
12893/* 24794*/ OPC_CheckChild2Type, MVT::i32,
12894/* 24796*/ OPC_RecordChild3, // #2 = $exp
12895/* 24797*/ OPC_RecordChild4, // #3 = $timeout
12896/* 24798*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12897/* 24800*/ OPC_EmitMergeInputChains1_0,
12898/* 24801*/ OPC_EmitInteger, MVT::i32, 0,
12899/* 24804*/ OPC_EmitInteger, MVT::i32, 0,
12900/* 24807*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT64_A32), 0|OPFL_Chain|OPFL_MemRefs,
12901 MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
12902 // Src: (intrinsic_w_chain:{ *:[i32] } 8621:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 8
12903 // Dst: (MEMORY_ATOMIC_WAIT64_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
12904/* 24818*/ /*Scope*/ 24, /*->24843*/
12905/* 24819*/ OPC_CheckChild2Type, MVT::i64,
12906/* 24821*/ OPC_RecordChild3, // #2 = $exp
12907/* 24822*/ OPC_RecordChild4, // #3 = $timeout
12908/* 24823*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
12909/* 24825*/ OPC_EmitMergeInputChains1_0,
12910/* 24826*/ OPC_EmitInteger, MVT::i32, 0,
12911/* 24829*/ OPC_EmitInteger, MVT::i64, 0,
12912/* 24832*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT64_A64), 0|OPFL_Chain|OPFL_MemRefs,
12913 MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
12914 // Src: (intrinsic_w_chain:{ *:[i32] } 8621:{ *:[iPTR] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 8
12915 // Dst: (MEMORY_ATOMIC_WAIT64_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
12916/* 24843*/ 0, /*End of Scope*/
12917/* 24844*/ /*Scope*/ 36|128,2/*292*/, /*->25138*/
12918/* 24846*/ OPC_CheckChild1Integer, 38|128,67/*8614*/,
12919/* 24849*/ OPC_Scope, 47|128,1/*175*/, /*->25027*/ // 2 children in Scope
12920/* 24852*/ OPC_MoveChild2,
12921/* 24853*/ OPC_SwitchOpcode /*3 cases */, 51, TARGET_VAL(ISD::ADD),// ->24908
12922/* 24857*/ OPC_RecordChild0, // #1 = $addr
12923/* 24858*/ OPC_RecordChild1, // #2 = $off
12924/* 24859*/ OPC_MoveChild1,
12925/* 24860*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12926/* 24863*/ OPC_MoveParent,
12927/* 24864*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
12928/* 24866*/ OPC_SwitchType /*2 cases */, 18, MVT::i32,// ->24887
12929/* 24869*/ OPC_MoveParent,
12930/* 24870*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
12931/* 24872*/ OPC_EmitMergeInputChains1_0,
12932/* 24873*/ OPC_EmitInteger, MVT::i32, 0,
12933/* 24876*/ OPC_EmitConvertToTarget, 2,
12934/* 24878*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
12935 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
12936 // Src: (intrinsic_w_chain:{ *:[v4i32] } 8614:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>) - Complexity = 15
12937 // Dst: (LOAD_ZERO_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
12938/* 24887*/ /*SwitchType*/ 18, MVT::i64,// ->24907
12939/* 24889*/ OPC_MoveParent,
12940/* 24890*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
12941/* 24892*/ OPC_EmitMergeInputChains1_0,
12942/* 24893*/ OPC_EmitInteger, MVT::i32, 0,
12943/* 24896*/ OPC_EmitConvertToTarget, 2,
12944/* 24898*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
12945 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
12946 // Src: (intrinsic_w_chain:{ *:[v4i32] } 8614:{ *:[iPTR] }, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>) - Complexity = 15
12947 // Dst: (LOAD_ZERO_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
12948/* 24907*/ 0, // EndSwitchType
12949/* 24908*/ /*SwitchOpcode*/ 51, TARGET_VAL(ISD::OR),// ->24962
12950/* 24911*/ OPC_RecordChild0, // #1 = $addr
12951/* 24912*/ OPC_RecordChild1, // #2 = $off
12952/* 24913*/ OPC_MoveChild1,
12953/* 24914*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12954/* 24917*/ OPC_MoveParent,
12955/* 24918*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
12956/* 24920*/ OPC_SwitchType /*2 cases */, 18, MVT::i32,// ->24941
12957/* 24923*/ OPC_MoveParent,
12958/* 24924*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
12959/* 24926*/ OPC_EmitMergeInputChains1_0,
12960/* 24927*/ OPC_EmitInteger, MVT::i32, 0,
12961/* 24930*/ OPC_EmitConvertToTarget, 2,
12962/* 24932*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
12963 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
12964 // Src: (intrinsic_w_chain:{ *:[v4i32] } 8614:{ *:[iPTR] }, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>) - Complexity = 15
12965 // Dst: (LOAD_ZERO_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
12966/* 24941*/ /*SwitchType*/ 18, MVT::i64,// ->24961
12967/* 24943*/ OPC_MoveParent,
12968/* 24944*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
12969/* 24946*/ OPC_EmitMergeInputChains1_0,
12970/* 24947*/ OPC_EmitInteger, MVT::i32, 0,
12971/* 24950*/ OPC_EmitConvertToTarget, 2,
12972/* 24952*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
12973 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
12974 // Src: (intrinsic_w_chain:{ *:[v4i32] } 8614:{ *:[iPTR] }, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>) - Complexity = 15
12975 // Dst: (LOAD_ZERO_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
12976/* 24961*/ 0, // EndSwitchType
12977/* 24962*/ /*SwitchOpcode*/ 61, TARGET_VAL(WebAssemblyISD::Wrapper),// ->25026
12978/* 24965*/ OPC_RecordChild0, // #1 = $off
12979/* 24966*/ OPC_MoveChild0,
12980/* 24967*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
12981/* 24970*/ OPC_MoveParent,
12982/* 24971*/ OPC_MoveParent,
12983/* 24972*/ OPC_Scope, 25, /*->24999*/ // 2 children in Scope
12984/* 24974*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
12985/* 24976*/ OPC_EmitMergeInputChains1_0,
12986/* 24977*/ OPC_EmitInteger, MVT::i32, 0,
12987/* 24980*/ OPC_EmitInteger, MVT::i32, 0,
12988/* 24983*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12989 MVT::i32, 1/*#Ops*/, 3, // Results = #4
12990/* 24990*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
12991 MVT::v4i32, 3/*#Ops*/, 2, 1, 4,
12992 // Src: (intrinsic_w_chain:{ *:[v4i32] } 8614:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off)) - Complexity = 14
12993 // Dst: (LOAD_ZERO_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
12994/* 24999*/ /*Scope*/ 25, /*->25025*/
12995/* 25000*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
12996/* 25002*/ OPC_EmitMergeInputChains1_0,
12997/* 25003*/ OPC_EmitInteger, MVT::i32, 0,
12998/* 25006*/ OPC_EmitInteger, MVT::i64, 0,
12999/* 25009*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
13000 MVT::i64, 1/*#Ops*/, 3, // Results = #4
13001/* 25016*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
13002 MVT::v4i32, 3/*#Ops*/, 2, 1, 4,
13003 // Src: (intrinsic_w_chain:{ *:[v4i32] } 8614:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off)) - Complexity = 14
13004 // Dst: (LOAD_ZERO_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
13005/* 25025*/ 0, /*End of Scope*/
13006/* 25026*/ 0, // EndSwitchOpcode
13007/* 25027*/ /*Scope*/ 109, /*->25137*/
13008/* 25028*/ OPC_RecordChild2, // #1 = $off
13009/* 25029*/ OPC_Scope, 63, /*->25094*/ // 3 children in Scope
13010/* 25031*/ OPC_MoveChild2,
13011/* 25032*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13012/* 25035*/ OPC_MoveParent,
13013/* 25036*/ OPC_Scope, 27, /*->25065*/ // 2 children in Scope
13014/* 25038*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
13015/* 25040*/ OPC_EmitMergeInputChains1_0,
13016/* 25041*/ OPC_EmitInteger, MVT::i32, 0,
13017/* 25044*/ OPC_EmitConvertToTarget, 1,
13018/* 25046*/ OPC_EmitInteger, MVT::i32, 0,
13019/* 25049*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13020 MVT::i32, 1/*#Ops*/, 4, // Results = #5
13021/* 25056*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
13022 MVT::v4i32, 3/*#Ops*/, 2, 3, 5,
13023 // Src: (intrinsic_w_chain:{ *:[v4i32] } 8614:{ *:[iPTR] }, (imm:{ *:[iPTR] }):$off) - Complexity = 11
13024 // Dst: (LOAD_ZERO_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
13025/* 25065*/ /*Scope*/ 27, /*->25093*/
13026/* 25066*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
13027/* 25068*/ OPC_EmitMergeInputChains1_0,
13028/* 25069*/ OPC_EmitInteger, MVT::i32, 0,
13029/* 25072*/ OPC_EmitConvertToTarget, 1,
13030/* 25074*/ OPC_EmitInteger, MVT::i64, 0,
13031/* 25077*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
13032 MVT::i64, 1/*#Ops*/, 4, // Results = #5
13033/* 25084*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
13034 MVT::v4i32, 3/*#Ops*/, 2, 3, 5,
13035 // Src: (intrinsic_w_chain:{ *:[v4i32] } 8614:{ *:[iPTR] }, (imm:{ *:[iPTR] }):$off) - Complexity = 11
13036 // Dst: (LOAD_ZERO_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
13037/* 25093*/ 0, /*End of Scope*/
13038/* 25094*/ /*Scope*/ 20, /*->25115*/
13039/* 25095*/ OPC_CheckChild2Type, MVT::i32,
13040/* 25097*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
13041/* 25099*/ OPC_EmitMergeInputChains1_0,
13042/* 25100*/ OPC_EmitInteger, MVT::i32, 0,
13043/* 25103*/ OPC_EmitInteger, MVT::i32, 0,
13044/* 25106*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
13045 MVT::v4i32, 3/*#Ops*/, 2, 3, 1,
13046 // Src: (intrinsic_w_chain:{ *:[v4i32] } 8614:{ *:[iPTR] }, I32:{ *:[i32] }:$addr) - Complexity = 8
13047 // Dst: (LOAD_ZERO_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
13048/* 25115*/ /*Scope*/ 20, /*->25136*/
13049/* 25116*/ OPC_CheckChild2Type, MVT::i64,
13050/* 25118*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
13051/* 25120*/ OPC_EmitMergeInputChains1_0,
13052/* 25121*/ OPC_EmitInteger, MVT::i32, 0,
13053/* 25124*/ OPC_EmitInteger, MVT::i64, 0,
13054/* 25127*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
13055 MVT::v4i32, 3/*#Ops*/, 2, 3, 1,
13056 // Src: (intrinsic_w_chain:{ *:[v4i32] } 8614:{ *:[iPTR] }, I64:{ *:[i64] }:$addr) - Complexity = 8
13057 // Dst: (LOAD_ZERO_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
13058/* 25136*/ 0, /*End of Scope*/
13059/* 25137*/ 0, /*End of Scope*/
13060/* 25138*/ /*Scope*/ 36|128,2/*292*/, /*->25432*/
13061/* 25140*/ OPC_CheckChild1Integer, 40|128,67/*8616*/,
13062/* 25143*/ OPC_Scope, 47|128,1/*175*/, /*->25321*/ // 2 children in Scope
13063/* 25146*/ OPC_MoveChild2,
13064/* 25147*/ OPC_SwitchOpcode /*3 cases */, 51, TARGET_VAL(ISD::ADD),// ->25202
13065/* 25151*/ OPC_RecordChild0, // #1 = $addr
13066/* 25152*/ OPC_RecordChild1, // #2 = $off
13067/* 25153*/ OPC_MoveChild1,
13068/* 25154*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13069/* 25157*/ OPC_MoveParent,
13070/* 25158*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
13071/* 25160*/ OPC_SwitchType /*2 cases */, 18, MVT::i32,// ->25181
13072/* 25163*/ OPC_MoveParent,
13073/* 25164*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
13074/* 25166*/ OPC_EmitMergeInputChains1_0,
13075/* 25167*/ OPC_EmitInteger, MVT::i32, 0,
13076/* 25170*/ OPC_EmitConvertToTarget, 2,
13077/* 25172*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
13078 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
13079 // Src: (intrinsic_w_chain:{ *:[v2i64] } 8616:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>) - Complexity = 15
13080 // Dst: (LOAD_ZERO_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
13081/* 25181*/ /*SwitchType*/ 18, MVT::i64,// ->25201
13082/* 25183*/ OPC_MoveParent,
13083/* 25184*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
13084/* 25186*/ OPC_EmitMergeInputChains1_0,
13085/* 25187*/ OPC_EmitInteger, MVT::i32, 0,
13086/* 25190*/ OPC_EmitConvertToTarget, 2,
13087/* 25192*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
13088 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
13089 // Src: (intrinsic_w_chain:{ *:[v2i64] } 8616:{ *:[iPTR] }, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>) - Complexity = 15
13090 // Dst: (LOAD_ZERO_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
13091/* 25201*/ 0, // EndSwitchType
13092/* 25202*/ /*SwitchOpcode*/ 51, TARGET_VAL(ISD::OR),// ->25256
13093/* 25205*/ OPC_RecordChild0, // #1 = $addr
13094/* 25206*/ OPC_RecordChild1, // #2 = $off
13095/* 25207*/ OPC_MoveChild1,
13096/* 25208*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13097/* 25211*/ OPC_MoveParent,
13098/* 25212*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
13099/* 25214*/ OPC_SwitchType /*2 cases */, 18, MVT::i32,// ->25235
13100/* 25217*/ OPC_MoveParent,
13101/* 25218*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
13102/* 25220*/ OPC_EmitMergeInputChains1_0,
13103/* 25221*/ OPC_EmitInteger, MVT::i32, 0,
13104/* 25224*/ OPC_EmitConvertToTarget, 2,
13105/* 25226*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
13106 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
13107 // Src: (intrinsic_w_chain:{ *:[v2i64] } 8616:{ *:[iPTR] }, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>) - Complexity = 15
13108 // Dst: (LOAD_ZERO_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
13109/* 25235*/ /*SwitchType*/ 18, MVT::i64,// ->25255
13110/* 25237*/ OPC_MoveParent,
13111/* 25238*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
13112/* 25240*/ OPC_EmitMergeInputChains1_0,
13113/* 25241*/ OPC_EmitInteger, MVT::i32, 0,
13114/* 25244*/ OPC_EmitConvertToTarget, 2,
13115/* 25246*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
13116 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
13117 // Src: (intrinsic_w_chain:{ *:[v2i64] } 8616:{ *:[iPTR] }, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>) - Complexity = 15
13118 // Dst: (LOAD_ZERO_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
13119/* 25255*/ 0, // EndSwitchType
13120/* 25256*/ /*SwitchOpcode*/ 61, TARGET_VAL(WebAssemblyISD::Wrapper),// ->25320
13121/* 25259*/ OPC_RecordChild0, // #1 = $off
13122/* 25260*/ OPC_MoveChild0,
13123/* 25261*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
13124/* 25264*/ OPC_MoveParent,
13125/* 25265*/ OPC_MoveParent,
13126/* 25266*/ OPC_Scope, 25, /*->25293*/ // 2 children in Scope
13127/* 25268*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
13128/* 25270*/ OPC_EmitMergeInputChains1_0,
13129/* 25271*/ OPC_EmitInteger, MVT::i32, 0,
13130/* 25274*/ OPC_EmitInteger, MVT::i32, 0,
13131/* 25277*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13132 MVT::i32, 1/*#Ops*/, 3, // Results = #4
13133/* 25284*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
13134 MVT::v2i64, 3/*#Ops*/, 2, 1, 4,
13135 // Src: (intrinsic_w_chain:{ *:[v2i64] } 8616:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off)) - Complexity = 14
13136 // Dst: (LOAD_ZERO_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
13137/* 25293*/ /*Scope*/ 25, /*->25319*/
13138/* 25294*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
13139/* 25296*/ OPC_EmitMergeInputChains1_0,
13140/* 25297*/ OPC_EmitInteger, MVT::i32, 0,
13141/* 25300*/ OPC_EmitInteger, MVT::i64, 0,
13142/* 25303*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
13143 MVT::i64, 1/*#Ops*/, 3, // Results = #4
13144/* 25310*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
13145 MVT::v2i64, 3/*#Ops*/, 2, 1, 4,
13146 // Src: (intrinsic_w_chain:{ *:[v2i64] } 8616:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off)) - Complexity = 14
13147 // Dst: (LOAD_ZERO_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
13148/* 25319*/ 0, /*End of Scope*/
13149/* 25320*/ 0, // EndSwitchOpcode
13150/* 25321*/ /*Scope*/ 109, /*->25431*/
13151/* 25322*/ OPC_RecordChild2, // #1 = $off
13152/* 25323*/ OPC_Scope, 63, /*->25388*/ // 3 children in Scope
13153/* 25325*/ OPC_MoveChild2,
13154/* 25326*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13155/* 25329*/ OPC_MoveParent,
13156/* 25330*/ OPC_Scope, 27, /*->25359*/ // 2 children in Scope
13157/* 25332*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
13158/* 25334*/ OPC_EmitMergeInputChains1_0,
13159/* 25335*/ OPC_EmitInteger, MVT::i32, 0,
13160/* 25338*/ OPC_EmitConvertToTarget, 1,
13161/* 25340*/ OPC_EmitInteger, MVT::i32, 0,
13162/* 25343*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13163 MVT::i32, 1/*#Ops*/, 4, // Results = #5
13164/* 25350*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
13165 MVT::v2i64, 3/*#Ops*/, 2, 3, 5,
13166 // Src: (intrinsic_w_chain:{ *:[v2i64] } 8616:{ *:[iPTR] }, (imm:{ *:[iPTR] }):$off) - Complexity = 11
13167 // Dst: (LOAD_ZERO_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
13168/* 25359*/ /*Scope*/ 27, /*->25387*/
13169/* 25360*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
13170/* 25362*/ OPC_EmitMergeInputChains1_0,
13171/* 25363*/ OPC_EmitInteger, MVT::i32, 0,
13172/* 25366*/ OPC_EmitConvertToTarget, 1,
13173/* 25368*/ OPC_EmitInteger, MVT::i64, 0,
13174/* 25371*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
13175 MVT::i64, 1/*#Ops*/, 4, // Results = #5
13176/* 25378*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
13177 MVT::v2i64, 3/*#Ops*/, 2, 3, 5,
13178 // Src: (intrinsic_w_chain:{ *:[v2i64] } 8616:{ *:[iPTR] }, (imm:{ *:[iPTR] }):$off) - Complexity = 11
13179 // Dst: (LOAD_ZERO_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
13180/* 25387*/ 0, /*End of Scope*/
13181/* 25388*/ /*Scope*/ 20, /*->25409*/
13182/* 25389*/ OPC_CheckChild2Type, MVT::i32,
13183/* 25391*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
13184/* 25393*/ OPC_EmitMergeInputChains1_0,
13185/* 25394*/ OPC_EmitInteger, MVT::i32, 0,
13186/* 25397*/ OPC_EmitInteger, MVT::i32, 0,
13187/* 25400*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
13188 MVT::v2i64, 3/*#Ops*/, 2, 3, 1,
13189 // Src: (intrinsic_w_chain:{ *:[v2i64] } 8616:{ *:[iPTR] }, I32:{ *:[i32] }:$addr) - Complexity = 8
13190 // Dst: (LOAD_ZERO_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
13191/* 25409*/ /*Scope*/ 20, /*->25430*/
13192/* 25410*/ OPC_CheckChild2Type, MVT::i64,
13193/* 25412*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
13194/* 25414*/ OPC_EmitMergeInputChains1_0,
13195/* 25415*/ OPC_EmitInteger, MVT::i32, 0,
13196/* 25418*/ OPC_EmitInteger, MVT::i64, 0,
13197/* 25421*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
13198 MVT::v2i64, 3/*#Ops*/, 2, 3, 1,
13199 // Src: (intrinsic_w_chain:{ *:[v2i64] } 8616:{ *:[iPTR] }, I64:{ *:[i64] }:$addr) - Complexity = 8
13200 // Dst: (LOAD_ZERO_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
13201/* 25430*/ 0, /*End of Scope*/
13202/* 25431*/ 0, /*End of Scope*/
13203/* 25432*/ /*Scope*/ 74, /*->25507*/
13204/* 25433*/ OPC_CheckChild1Integer, 41|128,67/*8617*/,
13205/* 25436*/ OPC_RecordChild2, // #1 = $addr
13206/* 25437*/ OPC_Scope, 33, /*->25472*/ // 2 children in Scope
13207/* 25439*/ OPC_CheckChild2Type, MVT::i32,
13208/* 25441*/ OPC_RecordChild3, // #2 = $vec
13209/* 25442*/ OPC_RecordChild4, // #3 = $idx
13210/* 25443*/ OPC_MoveChild4,
13211/* 25444*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13212/* 25447*/ OPC_CheckPredicate, 4, // Predicate_LaneIdx16
13213/* 25449*/ OPC_MoveParent,
13214/* 25450*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
13215/* 25452*/ OPC_EmitMergeInputChains1_0,
13216/* 25453*/ OPC_EmitInteger, MVT::i32, 0,
13217/* 25456*/ OPC_EmitInteger, MVT::i32, 0,
13218/* 25459*/ OPC_EmitConvertToTarget, 3,
13219/* 25461*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_I8x16_A32), 0|OPFL_Chain|OPFL_MemRefs,
13220 MVT::v16i8, 5/*#Ops*/, 4, 5, 6, 1, 2,
13221 // Src: (intrinsic_w_chain:{ *:[v16i8] } 8617:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx) - Complexity = 12
13222 // Dst: (LOAD_LANE_I8x16_A32:{ *:[v16i8] } 0:{ *:[i32] }, 0:{ *:[i32] }, (imm:{ *:[i32] }):$idx, ?:{ *:[i32] }:$addr, ?:{ *:[v16i8] }:$vec)
13223/* 25472*/ /*Scope*/ 33, /*->25506*/
13224/* 25473*/ OPC_CheckChild2Type, MVT::i64,
13225/* 25475*/ OPC_RecordChild3, // #2 = $vec
13226/* 25476*/ OPC_RecordChild4, // #3 = $idx
13227/* 25477*/ OPC_MoveChild4,
13228/* 25478*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13229/* 25481*/ OPC_CheckPredicate, 4, // Predicate_LaneIdx16
13230/* 25483*/ OPC_MoveParent,
13231/* 25484*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
13232/* 25486*/ OPC_EmitMergeInputChains1_0,
13233/* 25487*/ OPC_EmitInteger, MVT::i32, 0,
13234/* 25490*/ OPC_EmitInteger, MVT::i64, 0,
13235/* 25493*/ OPC_EmitConvertToTarget, 3,
13236/* 25495*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_I8x16_A64), 0|OPFL_Chain|OPFL_MemRefs,
13237 MVT::v16i8, 5/*#Ops*/, 4, 5, 6, 1, 2,
13238 // Src: (intrinsic_w_chain:{ *:[v16i8] } 8617:{ *:[iPTR] }, I64:{ *:[i64] }:$addr, V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx) - Complexity = 12
13239 // Dst: (LOAD_LANE_I8x16_A64:{ *:[v16i8] } 0:{ *:[i32] }, 0:{ *:[i64] }, (imm:{ *:[i32] }):$idx, ?:{ *:[i64] }:$addr, ?:{ *:[v16i8] }:$vec)
13240/* 25506*/ 0, /*End of Scope*/
13241/* 25507*/ /*Scope*/ 74, /*->25582*/
13242/* 25508*/ OPC_CheckChild1Integer, 36|128,67/*8612*/,
13243/* 25511*/ OPC_RecordChild2, // #1 = $addr
13244/* 25512*/ OPC_Scope, 33, /*->25547*/ // 2 children in Scope
13245/* 25514*/ OPC_CheckChild2Type, MVT::i32,
13246/* 25516*/ OPC_RecordChild3, // #2 = $vec
13247/* 25517*/ OPC_RecordChild4, // #3 = $idx
13248/* 25518*/ OPC_MoveChild4,
13249/* 25519*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13250/* 25522*/ OPC_CheckPredicate, 5, // Predicate_LaneIdx8
13251/* 25524*/ OPC_MoveParent,
13252/* 25525*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
13253/* 25527*/ OPC_EmitMergeInputChains1_0,
13254/* 25528*/ OPC_EmitInteger, MVT::i32, 0,
13255/* 25531*/ OPC_EmitInteger, MVT::i32, 0,
13256/* 25534*/ OPC_EmitConvertToTarget, 3,
13257/* 25536*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
13258 MVT::v8i16, 5/*#Ops*/, 4, 5, 6, 1, 2,
13259 // Src: (intrinsic_w_chain:{ *:[v8i16] } 8612:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx) - Complexity = 12
13260 // Dst: (LOAD_LANE_I16x8_A32:{ *:[v8i16] } 0:{ *:[i32] }, 0:{ *:[i32] }, (imm:{ *:[i32] }):$idx, ?:{ *:[i32] }:$addr, ?:{ *:[v8i16] }:$vec)
13261/* 25547*/ /*Scope*/ 33, /*->25581*/
13262/* 25548*/ OPC_CheckChild2Type, MVT::i64,
13263/* 25550*/ OPC_RecordChild3, // #2 = $vec
13264/* 25551*/ OPC_RecordChild4, // #3 = $idx
13265/* 25552*/ OPC_MoveChild4,
13266/* 25553*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13267/* 25556*/ OPC_CheckPredicate, 5, // Predicate_LaneIdx8
13268/* 25558*/ OPC_MoveParent,
13269/* 25559*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
13270/* 25561*/ OPC_EmitMergeInputChains1_0,
13271/* 25562*/ OPC_EmitInteger, MVT::i32, 0,
13272/* 25565*/ OPC_EmitInteger, MVT::i64, 0,
13273/* 25568*/ OPC_EmitConvertToTarget, 3,
13274/* 25570*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
13275 MVT::v8i16, 5/*#Ops*/, 4, 5, 6, 1, 2,
13276 // Src: (intrinsic_w_chain:{ *:[v8i16] } 8612:{ *:[iPTR] }, I64:{ *:[i64] }:$addr, V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx) - Complexity = 12
13277 // Dst: (LOAD_LANE_I16x8_A64:{ *:[v8i16] } 0:{ *:[i32] }, 0:{ *:[i64] }, (imm:{ *:[i32] }):$idx, ?:{ *:[i64] }:$addr, ?:{ *:[v8i16] }:$vec)
13278/* 25581*/ 0, /*End of Scope*/
13279/* 25582*/ /*Scope*/ 74, /*->25657*/
13280/* 25583*/ OPC_CheckChild1Integer, 37|128,67/*8613*/,
13281/* 25586*/ OPC_RecordChild2, // #1 = $addr
13282/* 25587*/ OPC_Scope, 33, /*->25622*/ // 2 children in Scope
13283/* 25589*/ OPC_CheckChild2Type, MVT::i32,
13284/* 25591*/ OPC_RecordChild3, // #2 = $vec
13285/* 25592*/ OPC_RecordChild4, // #3 = $idx
13286/* 25593*/ OPC_MoveChild4,
13287/* 25594*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13288/* 25597*/ OPC_CheckPredicate, 7, // Predicate_LaneIdx4
13289/* 25599*/ OPC_MoveParent,
13290/* 25600*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
13291/* 25602*/ OPC_EmitMergeInputChains1_0,
13292/* 25603*/ OPC_EmitInteger, MVT::i32, 0,
13293/* 25606*/ OPC_EmitInteger, MVT::i32, 0,
13294/* 25609*/ OPC_EmitConvertToTarget, 3,
13295/* 25611*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
13296 MVT::v4i32, 5/*#Ops*/, 4, 5, 6, 1, 2,
13297 // Src: (intrinsic_w_chain:{ *:[v4i32] } 8613:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, V128:{ *:[v4i32] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx4>>:$idx) - Complexity = 12
13298 // Dst: (LOAD_LANE_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, (imm:{ *:[i32] }):$idx, ?:{ *:[i32] }:$addr, ?:{ *:[v4i32] }:$vec)
13299/* 25622*/ /*Scope*/ 33, /*->25656*/
13300/* 25623*/ OPC_CheckChild2Type, MVT::i64,
13301/* 25625*/ OPC_RecordChild3, // #2 = $vec
13302/* 25626*/ OPC_RecordChild4, // #3 = $idx
13303/* 25627*/ OPC_MoveChild4,
13304/* 25628*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13305/* 25631*/ OPC_CheckPredicate, 7, // Predicate_LaneIdx4
13306/* 25633*/ OPC_MoveParent,
13307/* 25634*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
13308/* 25636*/ OPC_EmitMergeInputChains1_0,
13309/* 25637*/ OPC_EmitInteger, MVT::i32, 0,
13310/* 25640*/ OPC_EmitInteger, MVT::i64, 0,
13311/* 25643*/ OPC_EmitConvertToTarget, 3,
13312/* 25645*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
13313 MVT::v4i32, 5/*#Ops*/, 4, 5, 6, 1, 2,
13314 // Src: (intrinsic_w_chain:{ *:[v4i32] } 8613:{ *:[iPTR] }, I64:{ *:[i64] }:$addr, V128:{ *:[v4i32] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx4>>:$idx) - Complexity = 12
13315 // Dst: (LOAD_LANE_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, (imm:{ *:[i32] }):$idx, ?:{ *:[i64] }:$addr, ?:{ *:[v4i32] }:$vec)
13316/* 25656*/ 0, /*End of Scope*/
13317/* 25657*/ /*Scope*/ 74, /*->25732*/
13318/* 25658*/ OPC_CheckChild1Integer, 39|128,67/*8615*/,
13319/* 25661*/ OPC_RecordChild2, // #1 = $addr
13320/* 25662*/ OPC_Scope, 33, /*->25697*/ // 2 children in Scope
13321/* 25664*/ OPC_CheckChild2Type, MVT::i32,
13322/* 25666*/ OPC_RecordChild3, // #2 = $vec
13323/* 25667*/ OPC_RecordChild4, // #3 = $idx
13324/* 25668*/ OPC_MoveChild4,
13325/* 25669*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13326/* 25672*/ OPC_CheckPredicate, 8, // Predicate_LaneIdx2
13327/* 25674*/ OPC_MoveParent,
13328/* 25675*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
13329/* 25677*/ OPC_EmitMergeInputChains1_0,
13330/* 25678*/ OPC_EmitInteger, MVT::i32, 0,
13331/* 25681*/ OPC_EmitInteger, MVT::i32, 0,
13332/* 25684*/ OPC_EmitConvertToTarget, 3,
13333/* 25686*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
13334 MVT::v2i64, 5/*#Ops*/, 4, 5, 6, 1, 2,
13335 // Src: (intrinsic_w_chain:{ *:[v2i64] } 8615:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, V128:{ *:[v2i64] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx2>>:$idx) - Complexity = 12
13336 // Dst: (LOAD_LANE_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, (imm:{ *:[i32] }):$idx, ?:{ *:[i32] }:$addr, ?:{ *:[v2i64] }:$vec)
13337/* 25697*/ /*Scope*/ 33, /*->25731*/
13338/* 25698*/ OPC_CheckChild2Type, MVT::i64,
13339/* 25700*/ OPC_RecordChild3, // #2 = $vec
13340/* 25701*/ OPC_RecordChild4, // #3 = $idx
13341/* 25702*/ OPC_MoveChild4,
13342/* 25703*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13343/* 25706*/ OPC_CheckPredicate, 8, // Predicate_LaneIdx2
13344/* 25708*/ OPC_MoveParent,
13345/* 25709*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
13346/* 25711*/ OPC_EmitMergeInputChains1_0,
13347/* 25712*/ OPC_EmitInteger, MVT::i32, 0,
13348/* 25715*/ OPC_EmitInteger, MVT::i64, 0,
13349/* 25718*/ OPC_EmitConvertToTarget, 3,
13350/* 25720*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
13351 MVT::v2i64, 5/*#Ops*/, 4, 5, 6, 1, 2,
13352 // Src: (intrinsic_w_chain:{ *:[v2i64] } 8615:{ *:[iPTR] }, I64:{ *:[i64] }:$addr, V128:{ *:[v2i64] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx2>>:$idx) - Complexity = 12
13353 // Dst: (LOAD_LANE_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, (imm:{ *:[i32] }):$idx, ?:{ *:[i64] }:$addr, ?:{ *:[v2i64] }:$vec)
13354/* 25731*/ 0, /*End of Scope*/
13355/* 25732*/ 0, /*End of Scope*/
13356/* 25733*/ 0, /*End of Scope*/
13357/* 25734*/ /*SwitchOpcode*/ 75|128,14/*1867*/, TARGET_VAL(ISD::ATOMIC_STORE),// ->27605
13358/* 25738*/ OPC_RecordMemRef,
13359/* 25739*/ OPC_RecordNode, // #0 = 'atomic_store' chained node
13360/* 25740*/ OPC_Scope, 25|128,7/*921*/, /*->26664*/ // 4 children in Scope
13361/* 25743*/ OPC_MoveChild1,
13362/* 25744*/ OPC_SwitchOpcode /*3 cases */, 87|128,2/*343*/, TARGET_VAL(ISD::ADD),// ->26092
13363/* 25749*/ OPC_RecordChild0, // #1 = $addr
13364/* 25750*/ OPC_RecordChild1, // #2 = $off
13365/* 25751*/ OPC_MoveChild1,
13366/* 25752*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13367/* 25755*/ OPC_MoveParent,
13368/* 25756*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
13369/* 25758*/ OPC_SwitchType /*2 cases */, 35|128,1/*163*/, MVT::i32,// ->25925
13370/* 25762*/ OPC_MoveParent,
13371/* 25763*/ OPC_Scope, 68, /*->25833*/ // 2 children in Scope
13372/* 25765*/ OPC_MoveChild2,
13373/* 25766*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13374/* 25769*/ OPC_RecordChild0, // #3 = $val
13375/* 25770*/ OPC_MoveParent,
13376/* 25771*/ OPC_Scope, 19, /*->25792*/ // 3 children in Scope
13377/* 25773*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
13378/* 25775*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13379/* 25777*/ OPC_EmitMergeInputChains1_0,
13380/* 25778*/ OPC_EmitInteger, MVT::i32, 0,
13381/* 25781*/ OPC_EmitConvertToTarget, 2,
13382/* 25783*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
13383 4/*#Ops*/, 4, 5, 1, 3,
13384 // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 14
13385 // Dst: (ATOMIC_STORE8_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13386/* 25792*/ /*Scope*/ 19, /*->25812*/
13387/* 25793*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
13388/* 25795*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13389/* 25797*/ OPC_EmitMergeInputChains1_0,
13390/* 25798*/ OPC_EmitInteger, MVT::i32, 0,
13391/* 25801*/ OPC_EmitConvertToTarget, 2,
13392/* 25803*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
13393 4/*#Ops*/, 4, 5, 1, 3,
13394 // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 14
13395 // Dst: (ATOMIC_STORE16_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13396/* 25812*/ /*Scope*/ 19, /*->25832*/
13397/* 25813*/ OPC_CheckPredicate, 6, // Predicate_atomic_store_32
13398/* 25815*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13399/* 25817*/ OPC_EmitMergeInputChains1_0,
13400/* 25818*/ OPC_EmitInteger, MVT::i32, 0,
13401/* 25821*/ OPC_EmitConvertToTarget, 2,
13402/* 25823*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
13403 4/*#Ops*/, 4, 5, 1, 3,
13404 // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 14
13405 // Dst: (ATOMIC_STORE32_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13406/* 25832*/ 0, /*End of Scope*/
13407/* 25833*/ /*Scope*/ 90, /*->25924*/
13408/* 25834*/ OPC_RecordChild2, // #3 = $val
13409/* 25835*/ OPC_Scope, 64, /*->25901*/ // 2 children in Scope
13410/* 25837*/ OPC_CheckChild2Type, MVT::i32,
13411/* 25839*/ OPC_Scope, 19, /*->25860*/ // 3 children in Scope
13412/* 25841*/ OPC_CheckPredicate, 6, // Predicate_atomic_store_32
13413/* 25843*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13414/* 25845*/ OPC_EmitMergeInputChains1_0,
13415/* 25846*/ OPC_EmitInteger, MVT::i32, 0,
13416/* 25849*/ OPC_EmitConvertToTarget, 2,
13417/* 25851*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
13418 4/*#Ops*/, 4, 5, 1, 3,
13419 // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 11
13420 // Dst: (ATOMIC_STORE_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
13421/* 25860*/ /*Scope*/ 19, /*->25880*/
13422/* 25861*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
13423/* 25863*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13424/* 25865*/ OPC_EmitMergeInputChains1_0,
13425/* 25866*/ OPC_EmitInteger, MVT::i32, 0,
13426/* 25869*/ OPC_EmitConvertToTarget, 2,
13427/* 25871*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
13428 4/*#Ops*/, 4, 5, 1, 3,
13429 // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 11
13430 // Dst: (ATOMIC_STORE8_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
13431/* 25880*/ /*Scope*/ 19, /*->25900*/
13432/* 25881*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
13433/* 25883*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13434/* 25885*/ OPC_EmitMergeInputChains1_0,
13435/* 25886*/ OPC_EmitInteger, MVT::i32, 0,
13436/* 25889*/ OPC_EmitConvertToTarget, 2,
13437/* 25891*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
13438 4/*#Ops*/, 4, 5, 1, 3,
13439 // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 11
13440 // Dst: (ATOMIC_STORE16_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
13441/* 25900*/ 0, /*End of Scope*/
13442/* 25901*/ /*Scope*/ 21, /*->25923*/
13443/* 25902*/ OPC_CheckChild2Type, MVT::i64,
13444/* 25904*/ OPC_CheckPredicate, 9, // Predicate_atomic_store_64
13445/* 25906*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13446/* 25908*/ OPC_EmitMergeInputChains1_0,
13447/* 25909*/ OPC_EmitInteger, MVT::i32, 0,
13448/* 25912*/ OPC_EmitConvertToTarget, 2,
13449/* 25914*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
13450 4/*#Ops*/, 4, 5, 1, 3,
13451 // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 11
13452 // Dst: (ATOMIC_STORE_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13453/* 25923*/ 0, /*End of Scope*/
13454/* 25924*/ 0, /*End of Scope*/
13455/* 25925*/ /*SwitchType*/ 35|128,1/*163*/, MVT::i64,// ->26091
13456/* 25928*/ OPC_MoveParent,
13457/* 25929*/ OPC_Scope, 68, /*->25999*/ // 2 children in Scope
13458/* 25931*/ OPC_MoveChild2,
13459/* 25932*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13460/* 25935*/ OPC_RecordChild0, // #3 = $val
13461/* 25936*/ OPC_MoveParent,
13462/* 25937*/ OPC_Scope, 19, /*->25958*/ // 3 children in Scope
13463/* 25939*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
13464/* 25941*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13465/* 25943*/ OPC_EmitMergeInputChains1_0,
13466/* 25944*/ OPC_EmitInteger, MVT::i32, 0,
13467/* 25947*/ OPC_EmitConvertToTarget, 2,
13468/* 25949*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
13469 4/*#Ops*/, 4, 5, 1, 3,
13470 // Src: (atomic_store (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 14
13471 // Dst: (ATOMIC_STORE8_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
13472/* 25958*/ /*Scope*/ 19, /*->25978*/
13473/* 25959*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
13474/* 25961*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13475/* 25963*/ OPC_EmitMergeInputChains1_0,
13476/* 25964*/ OPC_EmitInteger, MVT::i32, 0,
13477/* 25967*/ OPC_EmitConvertToTarget, 2,
13478/* 25969*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
13479 4/*#Ops*/, 4, 5, 1, 3,
13480 // Src: (atomic_store (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 14
13481 // Dst: (ATOMIC_STORE16_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
13482/* 25978*/ /*Scope*/ 19, /*->25998*/
13483/* 25979*/ OPC_CheckPredicate, 6, // Predicate_atomic_store_32
13484/* 25981*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13485/* 25983*/ OPC_EmitMergeInputChains1_0,
13486/* 25984*/ OPC_EmitInteger, MVT::i32, 0,
13487/* 25987*/ OPC_EmitConvertToTarget, 2,
13488/* 25989*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
13489 4/*#Ops*/, 4, 5, 1, 3,
13490 // Src: (atomic_store (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 14
13491 // Dst: (ATOMIC_STORE32_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
13492/* 25998*/ 0, /*End of Scope*/
13493/* 25999*/ /*Scope*/ 90, /*->26090*/
13494/* 26000*/ OPC_RecordChild2, // #3 = $val
13495/* 26001*/ OPC_Scope, 64, /*->26067*/ // 2 children in Scope
13496/* 26003*/ OPC_CheckChild2Type, MVT::i32,
13497/* 26005*/ OPC_Scope, 19, /*->26026*/ // 3 children in Scope
13498/* 26007*/ OPC_CheckPredicate, 6, // Predicate_atomic_store_32
13499/* 26009*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13500/* 26011*/ OPC_EmitMergeInputChains1_0,
13501/* 26012*/ OPC_EmitInteger, MVT::i32, 0,
13502/* 26015*/ OPC_EmitConvertToTarget, 2,
13503/* 26017*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
13504 4/*#Ops*/, 4, 5, 1, 3,
13505 // Src: (atomic_store (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 11
13506 // Dst: (ATOMIC_STORE_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
13507/* 26026*/ /*Scope*/ 19, /*->26046*/
13508/* 26027*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
13509/* 26029*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13510/* 26031*/ OPC_EmitMergeInputChains1_0,
13511/* 26032*/ OPC_EmitInteger, MVT::i32, 0,
13512/* 26035*/ OPC_EmitConvertToTarget, 2,
13513/* 26037*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
13514 4/*#Ops*/, 4, 5, 1, 3,
13515 // Src: (atomic_store (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 11
13516 // Dst: (ATOMIC_STORE8_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
13517/* 26046*/ /*Scope*/ 19, /*->26066*/
13518/* 26047*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
13519/* 26049*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13520/* 26051*/ OPC_EmitMergeInputChains1_0,
13521/* 26052*/ OPC_EmitInteger, MVT::i32, 0,
13522/* 26055*/ OPC_EmitConvertToTarget, 2,
13523/* 26057*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
13524 4/*#Ops*/, 4, 5, 1, 3,
13525 // Src: (atomic_store (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 11
13526 // Dst: (ATOMIC_STORE16_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
13527/* 26066*/ 0, /*End of Scope*/
13528/* 26067*/ /*Scope*/ 21, /*->26089*/
13529/* 26068*/ OPC_CheckChild2Type, MVT::i64,
13530/* 26070*/ OPC_CheckPredicate, 9, // Predicate_atomic_store_64
13531/* 26072*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13532/* 26074*/ OPC_EmitMergeInputChains1_0,
13533/* 26075*/ OPC_EmitInteger, MVT::i32, 0,
13534/* 26078*/ OPC_EmitConvertToTarget, 2,
13535/* 26080*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
13536 4/*#Ops*/, 4, 5, 1, 3,
13537 // Src: (atomic_store (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 11
13538 // Dst: (ATOMIC_STORE_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
13539/* 26089*/ 0, /*End of Scope*/
13540/* 26090*/ 0, /*End of Scope*/
13541/* 26091*/ 0, // EndSwitchType
13542/* 26092*/ /*SwitchOpcode*/ 123|128,1/*251*/, TARGET_VAL(ISD::OR),// ->26347
13543/* 26096*/ OPC_RecordChild0, // #1 = $addr
13544/* 26097*/ OPC_RecordChild1, // #2 = $off
13545/* 26098*/ OPC_MoveChild1,
13546/* 26099*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13547/* 26102*/ OPC_MoveParent,
13548/* 26103*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
13549/* 26105*/ OPC_SwitchType /*2 cases */, 118, MVT::i32,// ->26226
13550/* 26108*/ OPC_MoveParent,
13551/* 26109*/ OPC_Scope, 68, /*->26179*/ // 2 children in Scope
13552/* 26111*/ OPC_MoveChild2,
13553/* 26112*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13554/* 26115*/ OPC_RecordChild0, // #3 = $val
13555/* 26116*/ OPC_MoveParent,
13556/* 26117*/ OPC_Scope, 19, /*->26138*/ // 3 children in Scope
13557/* 26119*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
13558/* 26121*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13559/* 26123*/ OPC_EmitMergeInputChains1_0,
13560/* 26124*/ OPC_EmitInteger, MVT::i32, 0,
13561/* 26127*/ OPC_EmitConvertToTarget, 2,
13562/* 26129*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
13563 4/*#Ops*/, 4, 5, 1, 3,
13564 // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 14
13565 // Dst: (ATOMIC_STORE8_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13566/* 26138*/ /*Scope*/ 19, /*->26158*/
13567/* 26139*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
13568/* 26141*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13569/* 26143*/ OPC_EmitMergeInputChains1_0,
13570/* 26144*/ OPC_EmitInteger, MVT::i32, 0,
13571/* 26147*/ OPC_EmitConvertToTarget, 2,
13572/* 26149*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
13573 4/*#Ops*/, 4, 5, 1, 3,
13574 // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 14
13575 // Dst: (ATOMIC_STORE16_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13576/* 26158*/ /*Scope*/ 19, /*->26178*/
13577/* 26159*/ OPC_CheckPredicate, 6, // Predicate_atomic_store_32
13578/* 26161*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13579/* 26163*/ OPC_EmitMergeInputChains1_0,
13580/* 26164*/ OPC_EmitInteger, MVT::i32, 0,
13581/* 26167*/ OPC_EmitConvertToTarget, 2,
13582/* 26169*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
13583 4/*#Ops*/, 4, 5, 1, 3,
13584 // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 14
13585 // Dst: (ATOMIC_STORE32_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13586/* 26178*/ 0, /*End of Scope*/
13587/* 26179*/ /*Scope*/ 45, /*->26225*/
13588/* 26180*/ OPC_RecordChild2, // #3 = $val
13589/* 26181*/ OPC_CheckChild2Type, MVT::i32,
13590/* 26183*/ OPC_Scope, 19, /*->26204*/ // 2 children in Scope
13591/* 26185*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
13592/* 26187*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13593/* 26189*/ OPC_EmitMergeInputChains1_0,
13594/* 26190*/ OPC_EmitInteger, MVT::i32, 0,
13595/* 26193*/ OPC_EmitConvertToTarget, 2,
13596/* 26195*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
13597 4/*#Ops*/, 4, 5, 1, 3,
13598 // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 11
13599 // Dst: (ATOMIC_STORE8_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
13600/* 26204*/ /*Scope*/ 19, /*->26224*/
13601/* 26205*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
13602/* 26207*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13603/* 26209*/ OPC_EmitMergeInputChains1_0,
13604/* 26210*/ OPC_EmitInteger, MVT::i32, 0,
13605/* 26213*/ OPC_EmitConvertToTarget, 2,
13606/* 26215*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
13607 4/*#Ops*/, 4, 5, 1, 3,
13608 // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 11
13609 // Dst: (ATOMIC_STORE16_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
13610/* 26224*/ 0, /*End of Scope*/
13611/* 26225*/ 0, /*End of Scope*/
13612/* 26226*/ /*SwitchType*/ 118, MVT::i64,// ->26346
13613/* 26228*/ OPC_MoveParent,
13614/* 26229*/ OPC_Scope, 68, /*->26299*/ // 2 children in Scope
13615/* 26231*/ OPC_MoveChild2,
13616/* 26232*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13617/* 26235*/ OPC_RecordChild0, // #3 = $val
13618/* 26236*/ OPC_MoveParent,
13619/* 26237*/ OPC_Scope, 19, /*->26258*/ // 3 children in Scope
13620/* 26239*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
13621/* 26241*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13622/* 26243*/ OPC_EmitMergeInputChains1_0,
13623/* 26244*/ OPC_EmitInteger, MVT::i32, 0,
13624/* 26247*/ OPC_EmitConvertToTarget, 2,
13625/* 26249*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
13626 4/*#Ops*/, 4, 5, 1, 3,
13627 // Src: (atomic_store (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 14
13628 // Dst: (ATOMIC_STORE8_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
13629/* 26258*/ /*Scope*/ 19, /*->26278*/
13630/* 26259*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
13631/* 26261*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13632/* 26263*/ OPC_EmitMergeInputChains1_0,
13633/* 26264*/ OPC_EmitInteger, MVT::i32, 0,
13634/* 26267*/ OPC_EmitConvertToTarget, 2,
13635/* 26269*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
13636 4/*#Ops*/, 4, 5, 1, 3,
13637 // Src: (atomic_store (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 14
13638 // Dst: (ATOMIC_STORE16_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
13639/* 26278*/ /*Scope*/ 19, /*->26298*/
13640/* 26279*/ OPC_CheckPredicate, 6, // Predicate_atomic_store_32
13641/* 26281*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13642/* 26283*/ OPC_EmitMergeInputChains1_0,
13643/* 26284*/ OPC_EmitInteger, MVT::i32, 0,
13644/* 26287*/ OPC_EmitConvertToTarget, 2,
13645/* 26289*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
13646 4/*#Ops*/, 4, 5, 1, 3,
13647 // Src: (atomic_store (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 14
13648 // Dst: (ATOMIC_STORE32_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
13649/* 26298*/ 0, /*End of Scope*/
13650/* 26299*/ /*Scope*/ 45, /*->26345*/
13651/* 26300*/ OPC_RecordChild2, // #3 = $val
13652/* 26301*/ OPC_CheckChild2Type, MVT::i32,
13653/* 26303*/ OPC_Scope, 19, /*->26324*/ // 2 children in Scope
13654/* 26305*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
13655/* 26307*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13656/* 26309*/ OPC_EmitMergeInputChains1_0,
13657/* 26310*/ OPC_EmitInteger, MVT::i32, 0,
13658/* 26313*/ OPC_EmitConvertToTarget, 2,
13659/* 26315*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
13660 4/*#Ops*/, 4, 5, 1, 3,
13661 // Src: (atomic_store (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 11
13662 // Dst: (ATOMIC_STORE8_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
13663/* 26324*/ /*Scope*/ 19, /*->26344*/
13664/* 26325*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
13665/* 26327*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13666/* 26329*/ OPC_EmitMergeInputChains1_0,
13667/* 26330*/ OPC_EmitInteger, MVT::i32, 0,
13668/* 26333*/ OPC_EmitConvertToTarget, 2,
13669/* 26335*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
13670 4/*#Ops*/, 4, 5, 1, 3,
13671 // Src: (atomic_store (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 11
13672 // Dst: (ATOMIC_STORE16_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
13673/* 26344*/ 0, /*End of Scope*/
13674/* 26345*/ 0, /*End of Scope*/
13675/* 26346*/ 0, // EndSwitchType
13676/* 26347*/ /*SwitchOpcode*/ 56|128,2/*312*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->26663
13677/* 26351*/ OPC_RecordChild0, // #1 = $off
13678/* 26352*/ OPC_MoveChild0,
13679/* 26353*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
13680/* 26356*/ OPC_MoveParent,
13681/* 26357*/ OPC_MoveParent,
13682/* 26358*/ OPC_Scope, 51|128,1/*179*/, /*->26540*/ // 2 children in Scope
13683/* 26361*/ OPC_MoveChild2,
13684/* 26362*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13685/* 26365*/ OPC_RecordChild0, // #2 = $val
13686/* 26366*/ OPC_MoveParent,
13687/* 26367*/ OPC_Scope, 56, /*->26425*/ // 3 children in Scope
13688/* 26369*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
13689/* 26371*/ OPC_Scope, 25, /*->26398*/ // 2 children in Scope
13690/* 26373*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
13691/* 26375*/ OPC_EmitMergeInputChains1_0,
13692/* 26376*/ OPC_EmitInteger, MVT::i32, 0,
13693/* 26379*/ OPC_EmitInteger, MVT::i32, 0,
13694/* 26382*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13695 MVT::i32, 1/*#Ops*/, 4, // Results = #5
13696/* 26389*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
13697 4/*#Ops*/, 3, 1, 5, 2,
13698 // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 13
13699 // Dst: (ATOMIC_STORE8_I64_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13700/* 26398*/ /*Scope*/ 25, /*->26424*/
13701/* 26399*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
13702/* 26401*/ OPC_EmitMergeInputChains1_0,
13703/* 26402*/ OPC_EmitInteger, MVT::i32, 0,
13704/* 26405*/ OPC_EmitInteger, MVT::i64, 0,
13705/* 26408*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
13706 MVT::i64, 1/*#Ops*/, 4, // Results = #5
13707/* 26415*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
13708 4/*#Ops*/, 3, 1, 5, 2,
13709 // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 13
13710 // Dst: (ATOMIC_STORE8_I64_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
13711/* 26424*/ 0, /*End of Scope*/
13712/* 26425*/ /*Scope*/ 56, /*->26482*/
13713/* 26426*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
13714/* 26428*/ OPC_Scope, 25, /*->26455*/ // 2 children in Scope
13715/* 26430*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
13716/* 26432*/ OPC_EmitMergeInputChains1_0,
13717/* 26433*/ OPC_EmitInteger, MVT::i32, 0,
13718/* 26436*/ OPC_EmitInteger, MVT::i32, 0,
13719/* 26439*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13720 MVT::i32, 1/*#Ops*/, 4, // Results = #5
13721/* 26446*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
13722 4/*#Ops*/, 3, 1, 5, 2,
13723 // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 13
13724 // Dst: (ATOMIC_STORE16_I64_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13725/* 26455*/ /*Scope*/ 25, /*->26481*/
13726/* 26456*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
13727/* 26458*/ OPC_EmitMergeInputChains1_0,
13728/* 26459*/ OPC_EmitInteger, MVT::i32, 0,
13729/* 26462*/ OPC_EmitInteger, MVT::i64, 0,
13730/* 26465*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
13731 MVT::i64, 1/*#Ops*/, 4, // Results = #5
13732/* 26472*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
13733 4/*#Ops*/, 3, 1, 5, 2,
13734 // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 13
13735 // Dst: (ATOMIC_STORE16_I64_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
13736/* 26481*/ 0, /*End of Scope*/
13737/* 26482*/ /*Scope*/ 56, /*->26539*/
13738/* 26483*/ OPC_CheckPredicate, 6, // Predicate_atomic_store_32
13739/* 26485*/ OPC_Scope, 25, /*->26512*/ // 2 children in Scope
13740/* 26487*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
13741/* 26489*/ OPC_EmitMergeInputChains1_0,
13742/* 26490*/ OPC_EmitInteger, MVT::i32, 0,
13743/* 26493*/ OPC_EmitInteger, MVT::i32, 0,
13744/* 26496*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13745 MVT::i32, 1/*#Ops*/, 4, // Results = #5
13746/* 26503*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
13747 4/*#Ops*/, 3, 1, 5, 2,
13748 // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 13
13749 // Dst: (ATOMIC_STORE32_I64_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13750/* 26512*/ /*Scope*/ 25, /*->26538*/
13751/* 26513*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
13752/* 26515*/ OPC_EmitMergeInputChains1_0,
13753/* 26516*/ OPC_EmitInteger, MVT::i32, 0,
13754/* 26519*/ OPC_EmitInteger, MVT::i64, 0,
13755/* 26522*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
13756 MVT::i64, 1/*#Ops*/, 4, // Results = #5
13757/* 26529*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
13758 4/*#Ops*/, 3, 1, 5, 2,
13759 // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 13
13760 // Dst: (ATOMIC_STORE32_I64_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
13761/* 26538*/ 0, /*End of Scope*/
13762/* 26539*/ 0, /*End of Scope*/
13763/* 26540*/ /*Scope*/ 121, /*->26662*/
13764/* 26541*/ OPC_RecordChild2, // #2 = $val
13765/* 26542*/ OPC_Scope, 58, /*->26602*/ // 2 children in Scope
13766/* 26544*/ OPC_CheckChild2Type, MVT::i32,
13767/* 26546*/ OPC_CheckPredicate, 6, // Predicate_atomic_store_32
13768/* 26548*/ OPC_Scope, 25, /*->26575*/ // 2 children in Scope
13769/* 26550*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
13770/* 26552*/ OPC_EmitMergeInputChains1_0,
13771/* 26553*/ OPC_EmitInteger, MVT::i32, 0,
13772/* 26556*/ OPC_EmitInteger, MVT::i32, 0,
13773/* 26559*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13774 MVT::i32, 1/*#Ops*/, 4, // Results = #5
13775/* 26566*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
13776 4/*#Ops*/, 3, 1, 5, 2,
13777 // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 10
13778 // Dst: (ATOMIC_STORE_I32_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
13779/* 26575*/ /*Scope*/ 25, /*->26601*/
13780/* 26576*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
13781/* 26578*/ OPC_EmitMergeInputChains1_0,
13782/* 26579*/ OPC_EmitInteger, MVT::i32, 0,
13783/* 26582*/ OPC_EmitInteger, MVT::i64, 0,
13784/* 26585*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
13785 MVT::i64, 1/*#Ops*/, 4, // Results = #5
13786/* 26592*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
13787 4/*#Ops*/, 3, 1, 5, 2,
13788 // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 10
13789 // Dst: (ATOMIC_STORE_I32_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
13790/* 26601*/ 0, /*End of Scope*/
13791/* 26602*/ /*Scope*/ 58, /*->26661*/
13792/* 26603*/ OPC_CheckChild2Type, MVT::i64,
13793/* 26605*/ OPC_CheckPredicate, 9, // Predicate_atomic_store_64
13794/* 26607*/ OPC_Scope, 25, /*->26634*/ // 2 children in Scope
13795/* 26609*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
13796/* 26611*/ OPC_EmitMergeInputChains1_0,
13797/* 26612*/ OPC_EmitInteger, MVT::i32, 0,
13798/* 26615*/ OPC_EmitInteger, MVT::i32, 0,
13799/* 26618*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13800 MVT::i32, 1/*#Ops*/, 4, // Results = #5
13801/* 26625*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
13802 4/*#Ops*/, 3, 1, 5, 2,
13803 // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 10
13804 // Dst: (ATOMIC_STORE_I64_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13805/* 26634*/ /*Scope*/ 25, /*->26660*/
13806/* 26635*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
13807/* 26637*/ OPC_EmitMergeInputChains1_0,
13808/* 26638*/ OPC_EmitInteger, MVT::i32, 0,
13809/* 26641*/ OPC_EmitInteger, MVT::i64, 0,
13810/* 26644*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
13811 MVT::i64, 1/*#Ops*/, 4, // Results = #5
13812/* 26651*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
13813 4/*#Ops*/, 3, 1, 5, 2,
13814 // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 10
13815 // Dst: (ATOMIC_STORE_I64_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
13816/* 26660*/ 0, /*End of Scope*/
13817/* 26661*/ 0, /*End of Scope*/
13818/* 26662*/ 0, /*End of Scope*/
13819/* 26663*/ 0, // EndSwitchOpcode
13820/* 26664*/ /*Scope*/ 69|128,1/*197*/, /*->26863*/
13821/* 26666*/ OPC_RecordChild1, // #1 = $off
13822/* 26667*/ OPC_MoveChild1,
13823/* 26668*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13824/* 26671*/ OPC_MoveParent,
13825/* 26672*/ OPC_MoveChild2,
13826/* 26673*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13827/* 26676*/ OPC_RecordChild0, // #2 = $val
13828/* 26677*/ OPC_MoveParent,
13829/* 26678*/ OPC_Scope, 60, /*->26740*/ // 3 children in Scope
13830/* 26680*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
13831/* 26682*/ OPC_Scope, 27, /*->26711*/ // 2 children in Scope
13832/* 26684*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13833/* 26686*/ OPC_EmitMergeInputChains1_0,
13834/* 26687*/ OPC_EmitInteger, MVT::i32, 0,
13835/* 26690*/ OPC_EmitConvertToTarget, 1,
13836/* 26692*/ OPC_EmitInteger, MVT::i32, 0,
13837/* 26695*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13838 MVT::i32, 1/*#Ops*/, 5, // Results = #6
13839/* 26702*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
13840 4/*#Ops*/, 3, 4, 6, 2,
13841 // Src: (atomic_store (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 10
13842 // Dst: (ATOMIC_STORE8_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13843/* 26711*/ /*Scope*/ 27, /*->26739*/
13844/* 26712*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13845/* 26714*/ OPC_EmitMergeInputChains1_0,
13846/* 26715*/ OPC_EmitInteger, MVT::i32, 0,
13847/* 26718*/ OPC_EmitConvertToTarget, 1,
13848/* 26720*/ OPC_EmitInteger, MVT::i64, 0,
13849/* 26723*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
13850 MVT::i64, 1/*#Ops*/, 5, // Results = #6
13851/* 26730*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
13852 4/*#Ops*/, 3, 4, 6, 2,
13853 // Src: (atomic_store (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 10
13854 // Dst: (ATOMIC_STORE8_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
13855/* 26739*/ 0, /*End of Scope*/
13856/* 26740*/ /*Scope*/ 60, /*->26801*/
13857/* 26741*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
13858/* 26743*/ OPC_Scope, 27, /*->26772*/ // 2 children in Scope
13859/* 26745*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13860/* 26747*/ OPC_EmitMergeInputChains1_0,
13861/* 26748*/ OPC_EmitInteger, MVT::i32, 0,
13862/* 26751*/ OPC_EmitConvertToTarget, 1,
13863/* 26753*/ OPC_EmitInteger, MVT::i32, 0,
13864/* 26756*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13865 MVT::i32, 1/*#Ops*/, 5, // Results = #6
13866/* 26763*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
13867 4/*#Ops*/, 3, 4, 6, 2,
13868 // Src: (atomic_store (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 10
13869 // Dst: (ATOMIC_STORE16_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13870/* 26772*/ /*Scope*/ 27, /*->26800*/
13871/* 26773*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13872/* 26775*/ OPC_EmitMergeInputChains1_0,
13873/* 26776*/ OPC_EmitInteger, MVT::i32, 0,
13874/* 26779*/ OPC_EmitConvertToTarget, 1,
13875/* 26781*/ OPC_EmitInteger, MVT::i64, 0,
13876/* 26784*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
13877 MVT::i64, 1/*#Ops*/, 5, // Results = #6
13878/* 26791*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
13879 4/*#Ops*/, 3, 4, 6, 2,
13880 // Src: (atomic_store (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 10
13881 // Dst: (ATOMIC_STORE16_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
13882/* 26800*/ 0, /*End of Scope*/
13883/* 26801*/ /*Scope*/ 60, /*->26862*/
13884/* 26802*/ OPC_CheckPredicate, 6, // Predicate_atomic_store_32
13885/* 26804*/ OPC_Scope, 27, /*->26833*/ // 2 children in Scope
13886/* 26806*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13887/* 26808*/ OPC_EmitMergeInputChains1_0,
13888/* 26809*/ OPC_EmitInteger, MVT::i32, 0,
13889/* 26812*/ OPC_EmitConvertToTarget, 1,
13890/* 26814*/ OPC_EmitInteger, MVT::i32, 0,
13891/* 26817*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13892 MVT::i32, 1/*#Ops*/, 5, // Results = #6
13893/* 26824*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
13894 4/*#Ops*/, 3, 4, 6, 2,
13895 // Src: (atomic_store (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 10
13896 // Dst: (ATOMIC_STORE32_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13897/* 26833*/ /*Scope*/ 27, /*->26861*/
13898/* 26834*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13899/* 26836*/ OPC_EmitMergeInputChains1_0,
13900/* 26837*/ OPC_EmitInteger, MVT::i32, 0,
13901/* 26840*/ OPC_EmitConvertToTarget, 1,
13902/* 26842*/ OPC_EmitInteger, MVT::i64, 0,
13903/* 26845*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
13904 MVT::i64, 1/*#Ops*/, 5, // Results = #6
13905/* 26852*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
13906 4/*#Ops*/, 3, 4, 6, 2,
13907 // Src: (atomic_store (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 10
13908 // Dst: (ATOMIC_STORE32_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
13909/* 26861*/ 0, /*End of Scope*/
13910/* 26862*/ 0, /*End of Scope*/
13911/* 26863*/ /*Scope*/ 2|128,1/*130*/, /*->26995*/
13912/* 26865*/ OPC_MoveChild1,
13913/* 26866*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
13914/* 26869*/ OPC_RecordChild0, // #1 = $off
13915/* 26870*/ OPC_MoveChild0,
13916/* 26871*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
13917/* 26874*/ OPC_MoveParent,
13918/* 26875*/ OPC_MoveParent,
13919/* 26876*/ OPC_RecordChild2, // #2 = $val
13920/* 26877*/ OPC_CheckChild2Type, MVT::i32,
13921/* 26879*/ OPC_Scope, 56, /*->26937*/ // 2 children in Scope
13922/* 26881*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
13923/* 26883*/ OPC_Scope, 25, /*->26910*/ // 2 children in Scope
13924/* 26885*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
13925/* 26887*/ OPC_EmitMergeInputChains1_0,
13926/* 26888*/ OPC_EmitInteger, MVT::i32, 0,
13927/* 26891*/ OPC_EmitInteger, MVT::i32, 0,
13928/* 26894*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13929 MVT::i32, 1/*#Ops*/, 4, // Results = #5
13930/* 26901*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
13931 4/*#Ops*/, 3, 1, 5, 2,
13932 // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 10
13933 // Dst: (ATOMIC_STORE8_I32_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
13934/* 26910*/ /*Scope*/ 25, /*->26936*/
13935/* 26911*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
13936/* 26913*/ OPC_EmitMergeInputChains1_0,
13937/* 26914*/ OPC_EmitInteger, MVT::i32, 0,
13938/* 26917*/ OPC_EmitInteger, MVT::i64, 0,
13939/* 26920*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
13940 MVT::i64, 1/*#Ops*/, 4, // Results = #5
13941/* 26927*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
13942 4/*#Ops*/, 3, 1, 5, 2,
13943 // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 10
13944 // Dst: (ATOMIC_STORE8_I32_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
13945/* 26936*/ 0, /*End of Scope*/
13946/* 26937*/ /*Scope*/ 56, /*->26994*/
13947/* 26938*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
13948/* 26940*/ OPC_Scope, 25, /*->26967*/ // 2 children in Scope
13949/* 26942*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
13950/* 26944*/ OPC_EmitMergeInputChains1_0,
13951/* 26945*/ OPC_EmitInteger, MVT::i32, 0,
13952/* 26948*/ OPC_EmitInteger, MVT::i32, 0,
13953/* 26951*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13954 MVT::i32, 1/*#Ops*/, 4, // Results = #5
13955/* 26958*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
13956 4/*#Ops*/, 3, 1, 5, 2,
13957 // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 10
13958 // Dst: (ATOMIC_STORE16_I32_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
13959/* 26967*/ /*Scope*/ 25, /*->26993*/
13960/* 26968*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
13961/* 26970*/ OPC_EmitMergeInputChains1_0,
13962/* 26971*/ OPC_EmitInteger, MVT::i32, 0,
13963/* 26974*/ OPC_EmitInteger, MVT::i64, 0,
13964/* 26977*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
13965 MVT::i64, 1/*#Ops*/, 4, // Results = #5
13966/* 26984*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
13967 4/*#Ops*/, 3, 1, 5, 2,
13968 // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 10
13969 // Dst: (ATOMIC_STORE16_I32_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
13970/* 26993*/ 0, /*End of Scope*/
13971/* 26994*/ 0, /*End of Scope*/
13972/* 26995*/ /*Scope*/ 95|128,4/*607*/, /*->27604*/
13973/* 26997*/ OPC_RecordChild1, // #1 = $addr
13974/* 26998*/ OPC_Scope, 73, /*->27073*/ // 5 children in Scope
13975/* 27000*/ OPC_CheckChild1Type, MVT::i32,
13976/* 27002*/ OPC_MoveChild2,
13977/* 27003*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13978/* 27006*/ OPC_RecordChild0, // #2 = $val
13979/* 27007*/ OPC_MoveParent,
13980/* 27008*/ OPC_Scope, 20, /*->27030*/ // 3 children in Scope
13981/* 27010*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
13982/* 27012*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13983/* 27014*/ OPC_EmitMergeInputChains1_0,
13984/* 27015*/ OPC_EmitInteger, MVT::i32, 0,
13985/* 27018*/ OPC_EmitInteger, MVT::i32, 0,
13986/* 27021*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
13987 4/*#Ops*/, 3, 4, 1, 2,
13988 // Src: (atomic_store I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 7
13989 // Dst: (ATOMIC_STORE8_I64_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13990/* 27030*/ /*Scope*/ 20, /*->27051*/
13991/* 27031*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
13992/* 27033*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
13993/* 27035*/ OPC_EmitMergeInputChains1_0,
13994/* 27036*/ OPC_EmitInteger, MVT::i32, 0,
13995/* 27039*/ OPC_EmitInteger, MVT::i32, 0,
13996/* 27042*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
13997 4/*#Ops*/, 3, 4, 1, 2,
13998 // Src: (atomic_store I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 7
13999 // Dst: (ATOMIC_STORE16_I64_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
14000/* 27051*/ /*Scope*/ 20, /*->27072*/
14001/* 27052*/ OPC_CheckPredicate, 6, // Predicate_atomic_store_32
14002/* 27054*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14003/* 27056*/ OPC_EmitMergeInputChains1_0,
14004/* 27057*/ OPC_EmitInteger, MVT::i32, 0,
14005/* 27060*/ OPC_EmitInteger, MVT::i32, 0,
14006/* 27063*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
14007 4/*#Ops*/, 3, 4, 1, 2,
14008 // Src: (atomic_store I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 7
14009 // Dst: (ATOMIC_STORE32_I64_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
14010/* 27072*/ 0, /*End of Scope*/
14011/* 27073*/ /*Scope*/ 73, /*->27147*/
14012/* 27074*/ OPC_CheckChild1Type, MVT::i64,
14013/* 27076*/ OPC_MoveChild2,
14014/* 27077*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
14015/* 27080*/ OPC_RecordChild0, // #2 = $val
14016/* 27081*/ OPC_MoveParent,
14017/* 27082*/ OPC_Scope, 20, /*->27104*/ // 3 children in Scope
14018/* 27084*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
14019/* 27086*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14020/* 27088*/ OPC_EmitMergeInputChains1_0,
14021/* 27089*/ OPC_EmitInteger, MVT::i32, 0,
14022/* 27092*/ OPC_EmitInteger, MVT::i64, 0,
14023/* 27095*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
14024 4/*#Ops*/, 3, 4, 1, 2,
14025 // Src: (atomic_store I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 7
14026 // Dst: (ATOMIC_STORE8_I64_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
14027/* 27104*/ /*Scope*/ 20, /*->27125*/
14028/* 27105*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
14029/* 27107*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14030/* 27109*/ OPC_EmitMergeInputChains1_0,
14031/* 27110*/ OPC_EmitInteger, MVT::i32, 0,
14032/* 27113*/ OPC_EmitInteger, MVT::i64, 0,
14033/* 27116*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
14034 4/*#Ops*/, 3, 4, 1, 2,
14035 // Src: (atomic_store I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 7
14036 // Dst: (ATOMIC_STORE16_I64_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
14037/* 27125*/ /*Scope*/ 20, /*->27146*/
14038/* 27126*/ OPC_CheckPredicate, 6, // Predicate_atomic_store_32
14039/* 27128*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14040/* 27130*/ OPC_EmitMergeInputChains1_0,
14041/* 27131*/ OPC_EmitInteger, MVT::i32, 0,
14042/* 27134*/ OPC_EmitInteger, MVT::i64, 0,
14043/* 27137*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
14044 4/*#Ops*/, 3, 4, 1, 2,
14045 // Src: (atomic_store I64:{ *:[i64] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 7
14046 // Dst: (ATOMIC_STORE32_I64_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
14047/* 27146*/ 0, /*End of Scope*/
14048/* 27147*/ /*Scope*/ 4|128,2/*260*/, /*->27409*/
14049/* 27149*/ OPC_MoveChild1,
14050/* 27150*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14051/* 27153*/ OPC_MoveParent,
14052/* 27154*/ OPC_RecordChild2, // #2 = $val
14053/* 27155*/ OPC_Scope, 59|128,1/*187*/, /*->27345*/ // 2 children in Scope
14054/* 27158*/ OPC_CheckChild2Type, MVT::i32,
14055/* 27160*/ OPC_Scope, 60, /*->27222*/ // 3 children in Scope
14056/* 27162*/ OPC_CheckPredicate, 6, // Predicate_atomic_store_32
14057/* 27164*/ OPC_Scope, 27, /*->27193*/ // 2 children in Scope
14058/* 27166*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14059/* 27168*/ OPC_EmitMergeInputChains1_0,
14060/* 27169*/ OPC_EmitInteger, MVT::i32, 0,
14061/* 27172*/ OPC_EmitConvertToTarget, 1,
14062/* 27174*/ OPC_EmitInteger, MVT::i32, 0,
14063/* 27177*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14064 MVT::i32, 1/*#Ops*/, 5, // Results = #6
14065/* 27184*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14066 4/*#Ops*/, 3, 4, 6, 2,
14067 // Src: (atomic_store (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 7
14068 // Dst: (ATOMIC_STORE_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
14069/* 27193*/ /*Scope*/ 27, /*->27221*/
14070/* 27194*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14071/* 27196*/ OPC_EmitMergeInputChains1_0,
14072/* 27197*/ OPC_EmitInteger, MVT::i32, 0,
14073/* 27200*/ OPC_EmitConvertToTarget, 1,
14074/* 27202*/ OPC_EmitInteger, MVT::i64, 0,
14075/* 27205*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
14076 MVT::i64, 1/*#Ops*/, 5, // Results = #6
14077/* 27212*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
14078 4/*#Ops*/, 3, 4, 6, 2,
14079 // Src: (atomic_store (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 7
14080 // Dst: (ATOMIC_STORE_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
14081/* 27221*/ 0, /*End of Scope*/
14082/* 27222*/ /*Scope*/ 60, /*->27283*/
14083/* 27223*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
14084/* 27225*/ OPC_Scope, 27, /*->27254*/ // 2 children in Scope
14085/* 27227*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14086/* 27229*/ OPC_EmitMergeInputChains1_0,
14087/* 27230*/ OPC_EmitInteger, MVT::i32, 0,
14088/* 27233*/ OPC_EmitConvertToTarget, 1,
14089/* 27235*/ OPC_EmitInteger, MVT::i32, 0,
14090/* 27238*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14091 MVT::i32, 1/*#Ops*/, 5, // Results = #6
14092/* 27245*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14093 4/*#Ops*/, 3, 4, 6, 2,
14094 // Src: (atomic_store (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 7
14095 // Dst: (ATOMIC_STORE8_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
14096/* 27254*/ /*Scope*/ 27, /*->27282*/
14097/* 27255*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14098/* 27257*/ OPC_EmitMergeInputChains1_0,
14099/* 27258*/ OPC_EmitInteger, MVT::i32, 0,
14100/* 27261*/ OPC_EmitConvertToTarget, 1,
14101/* 27263*/ OPC_EmitInteger, MVT::i64, 0,
14102/* 27266*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
14103 MVT::i64, 1/*#Ops*/, 5, // Results = #6
14104/* 27273*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
14105 4/*#Ops*/, 3, 4, 6, 2,
14106 // Src: (atomic_store (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 7
14107 // Dst: (ATOMIC_STORE8_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
14108/* 27282*/ 0, /*End of Scope*/
14109/* 27283*/ /*Scope*/ 60, /*->27344*/
14110/* 27284*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
14111/* 27286*/ OPC_Scope, 27, /*->27315*/ // 2 children in Scope
14112/* 27288*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14113/* 27290*/ OPC_EmitMergeInputChains1_0,
14114/* 27291*/ OPC_EmitInteger, MVT::i32, 0,
14115/* 27294*/ OPC_EmitConvertToTarget, 1,
14116/* 27296*/ OPC_EmitInteger, MVT::i32, 0,
14117/* 27299*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14118 MVT::i32, 1/*#Ops*/, 5, // Results = #6
14119/* 27306*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14120 4/*#Ops*/, 3, 4, 6, 2,
14121 // Src: (atomic_store (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 7
14122 // Dst: (ATOMIC_STORE16_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
14123/* 27315*/ /*Scope*/ 27, /*->27343*/
14124/* 27316*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14125/* 27318*/ OPC_EmitMergeInputChains1_0,
14126/* 27319*/ OPC_EmitInteger, MVT::i32, 0,
14127/* 27322*/ OPC_EmitConvertToTarget, 1,
14128/* 27324*/ OPC_EmitInteger, MVT::i64, 0,
14129/* 27327*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
14130 MVT::i64, 1/*#Ops*/, 5, // Results = #6
14131/* 27334*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
14132 4/*#Ops*/, 3, 4, 6, 2,
14133 // Src: (atomic_store (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 7
14134 // Dst: (ATOMIC_STORE16_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
14135/* 27343*/ 0, /*End of Scope*/
14136/* 27344*/ 0, /*End of Scope*/
14137/* 27345*/ /*Scope*/ 62, /*->27408*/
14138/* 27346*/ OPC_CheckChild2Type, MVT::i64,
14139/* 27348*/ OPC_CheckPredicate, 9, // Predicate_atomic_store_64
14140/* 27350*/ OPC_Scope, 27, /*->27379*/ // 2 children in Scope
14141/* 27352*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14142/* 27354*/ OPC_EmitMergeInputChains1_0,
14143/* 27355*/ OPC_EmitInteger, MVT::i32, 0,
14144/* 27358*/ OPC_EmitConvertToTarget, 1,
14145/* 27360*/ OPC_EmitInteger, MVT::i32, 0,
14146/* 27363*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14147 MVT::i32, 1/*#Ops*/, 5, // Results = #6
14148/* 27370*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
14149 4/*#Ops*/, 3, 4, 6, 2,
14150 // Src: (atomic_store (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 7
14151 // Dst: (ATOMIC_STORE_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
14152/* 27379*/ /*Scope*/ 27, /*->27407*/
14153/* 27380*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14154/* 27382*/ OPC_EmitMergeInputChains1_0,
14155/* 27383*/ OPC_EmitInteger, MVT::i32, 0,
14156/* 27386*/ OPC_EmitConvertToTarget, 1,
14157/* 27388*/ OPC_EmitInteger, MVT::i64, 0,
14158/* 27391*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
14159 MVT::i64, 1/*#Ops*/, 5, // Results = #6
14160/* 27398*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
14161 4/*#Ops*/, 3, 4, 6, 2,
14162 // Src: (atomic_store (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 7
14163 // Dst: (ATOMIC_STORE_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
14164/* 27407*/ 0, /*End of Scope*/
14165/* 27408*/ 0, /*End of Scope*/
14166/* 27409*/ /*Scope*/ 96, /*->27506*/
14167/* 27410*/ OPC_CheckChild1Type, MVT::i32,
14168/* 27412*/ OPC_RecordChild2, // #2 = $val
14169/* 27413*/ OPC_Scope, 67, /*->27482*/ // 2 children in Scope
14170/* 27415*/ OPC_CheckChild2Type, MVT::i32,
14171/* 27417*/ OPC_Scope, 20, /*->27439*/ // 3 children in Scope
14172/* 27419*/ OPC_CheckPredicate, 6, // Predicate_atomic_store_32
14173/* 27421*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14174/* 27423*/ OPC_EmitMergeInputChains1_0,
14175/* 27424*/ OPC_EmitInteger, MVT::i32, 0,
14176/* 27427*/ OPC_EmitInteger, MVT::i32, 0,
14177/* 27430*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14178 4/*#Ops*/, 3, 4, 1, 2,
14179 // Src: (atomic_store I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 4
14180 // Dst: (ATOMIC_STORE_I32_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
14181/* 27439*/ /*Scope*/ 20, /*->27460*/
14182/* 27440*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
14183/* 27442*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14184/* 27444*/ OPC_EmitMergeInputChains1_0,
14185/* 27445*/ OPC_EmitInteger, MVT::i32, 0,
14186/* 27448*/ OPC_EmitInteger, MVT::i32, 0,
14187/* 27451*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14188 4/*#Ops*/, 3, 4, 1, 2,
14189 // Src: (atomic_store I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 4
14190 // Dst: (ATOMIC_STORE8_I32_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
14191/* 27460*/ /*Scope*/ 20, /*->27481*/
14192/* 27461*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
14193/* 27463*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14194/* 27465*/ OPC_EmitMergeInputChains1_0,
14195/* 27466*/ OPC_EmitInteger, MVT::i32, 0,
14196/* 27469*/ OPC_EmitInteger, MVT::i32, 0,
14197/* 27472*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14198 4/*#Ops*/, 3, 4, 1, 2,
14199 // Src: (atomic_store I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 4
14200 // Dst: (ATOMIC_STORE16_I32_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
14201/* 27481*/ 0, /*End of Scope*/
14202/* 27482*/ /*Scope*/ 22, /*->27505*/
14203/* 27483*/ OPC_CheckChild2Type, MVT::i64,
14204/* 27485*/ OPC_CheckPredicate, 9, // Predicate_atomic_store_64
14205/* 27487*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14206/* 27489*/ OPC_EmitMergeInputChains1_0,
14207/* 27490*/ OPC_EmitInteger, MVT::i32, 0,
14208/* 27493*/ OPC_EmitInteger, MVT::i32, 0,
14209/* 27496*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
14210 4/*#Ops*/, 3, 4, 1, 2,
14211 // Src: (atomic_store I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 4
14212 // Dst: (ATOMIC_STORE_I64_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
14213/* 27505*/ 0, /*End of Scope*/
14214/* 27506*/ /*Scope*/ 96, /*->27603*/
14215/* 27507*/ OPC_CheckChild1Type, MVT::i64,
14216/* 27509*/ OPC_RecordChild2, // #2 = $val
14217/* 27510*/ OPC_Scope, 67, /*->27579*/ // 2 children in Scope
14218/* 27512*/ OPC_CheckChild2Type, MVT::i32,
14219/* 27514*/ OPC_Scope, 20, /*->27536*/ // 3 children in Scope
14220/* 27516*/ OPC_CheckPredicate, 6, // Predicate_atomic_store_32
14221/* 27518*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14222/* 27520*/ OPC_EmitMergeInputChains1_0,
14223/* 27521*/ OPC_EmitInteger, MVT::i32, 0,
14224/* 27524*/ OPC_EmitInteger, MVT::i64, 0,
14225/* 27527*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
14226 4/*#Ops*/, 3, 4, 1, 2,
14227 // Src: (atomic_store I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 4
14228 // Dst: (ATOMIC_STORE_I32_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
14229/* 27536*/ /*Scope*/ 20, /*->27557*/
14230/* 27537*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
14231/* 27539*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14232/* 27541*/ OPC_EmitMergeInputChains1_0,
14233/* 27542*/ OPC_EmitInteger, MVT::i32, 0,
14234/* 27545*/ OPC_EmitInteger, MVT::i64, 0,
14235/* 27548*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
14236 4/*#Ops*/, 3, 4, 1, 2,
14237 // Src: (atomic_store I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 4
14238 // Dst: (ATOMIC_STORE8_I32_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
14239/* 27557*/ /*Scope*/ 20, /*->27578*/
14240/* 27558*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
14241/* 27560*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14242/* 27562*/ OPC_EmitMergeInputChains1_0,
14243/* 27563*/ OPC_EmitInteger, MVT::i32, 0,
14244/* 27566*/ OPC_EmitInteger, MVT::i64, 0,
14245/* 27569*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
14246 4/*#Ops*/, 3, 4, 1, 2,
14247 // Src: (atomic_store I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 4
14248 // Dst: (ATOMIC_STORE16_I32_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
14249/* 27578*/ 0, /*End of Scope*/
14250/* 27579*/ /*Scope*/ 22, /*->27602*/
14251/* 27580*/ OPC_CheckChild2Type, MVT::i64,
14252/* 27582*/ OPC_CheckPredicate, 9, // Predicate_atomic_store_64
14253/* 27584*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
14254/* 27586*/ OPC_EmitMergeInputChains1_0,
14255/* 27587*/ OPC_EmitInteger, MVT::i32, 0,
14256/* 27590*/ OPC_EmitInteger, MVT::i64, 0,
14257/* 27593*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
14258 4/*#Ops*/, 3, 4, 1, 2,
14259 // Src: (atomic_store I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 4
14260 // Dst: (ATOMIC_STORE_I64_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
14261/* 27602*/ 0, /*End of Scope*/
14262/* 27603*/ 0, /*End of Scope*/
14263/* 27604*/ 0, /*End of Scope*/
14264/* 27605*/ /*SwitchOpcode*/ 36|128,3/*420*/, TARGET_VAL(ISD::INTRINSIC_VOID),// ->28029
14265/* 27609*/ OPC_Scope, 44|128,2/*300*/, /*->27912*/ // 3 children in Scope
14266/* 27612*/ OPC_RecordMemRef,
14267/* 27613*/ OPC_RecordNode, // #0 = 'intrinsic_void' chained node
14268/* 27614*/ OPC_Scope, 73, /*->27689*/ // 4 children in Scope
14269/* 27616*/ OPC_CheckChild1Integer, 66|128,67/*8642*/,
14270/* 27619*/ OPC_RecordChild2, // #1 = $addr
14271/* 27620*/ OPC_Scope, 32, /*->27654*/ // 2 children in Scope
14272/* 27622*/ OPC_CheckChild2Type, MVT::i32,
14273/* 27624*/ OPC_RecordChild3, // #2 = $vec
14274/* 27625*/ OPC_RecordChild4, // #3 = $idx
14275/* 27626*/ OPC_MoveChild4,
14276/* 27627*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14277/* 27630*/ OPC_CheckPredicate, 4, // Predicate_LaneIdx16
14278/* 27632*/ OPC_MoveParent,
14279/* 27633*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14280/* 27635*/ OPC_EmitMergeInputChains1_0,
14281/* 27636*/ OPC_EmitInteger, MVT::i32, 0,
14282/* 27639*/ OPC_EmitInteger, MVT::i32, 0,
14283/* 27642*/ OPC_EmitConvertToTarget, 3,
14284/* 27644*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_LANE_I8x16_A32), 0|OPFL_Chain|OPFL_MemRefs,
14285 5/*#Ops*/, 4, 5, 6, 1, 2,
14286 // Src: (intrinsic_void 8642:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx) - Complexity = 12
14287 // Dst: (STORE_LANE_I8x16_A32 0:{ *:[i32] }, 0:{ *:[i32] }, (imm:{ *:[i32] }):$idx, ?:{ *:[i32] }:$addr, ?:{ *:[v16i8] }:$vec)
14288/* 27654*/ /*Scope*/ 33, /*->27688*/
14289/* 27655*/ OPC_CheckChild2Type, MVT::i64,
14290/* 27657*/ OPC_RecordChild3, // #2 = $vec
14291/* 27658*/ OPC_RecordChild4, // #3 = $idx
14292/* 27659*/ OPC_MoveChild4,
14293/* 27660*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14294/* 27663*/ OPC_CheckPredicate, 4, // Predicate_LaneIdx16
14295/* 27665*/ OPC_MoveParent,
14296/* 27666*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14297/* 27668*/ OPC_EmitMergeInputChains1_0,
14298/* 27669*/ OPC_EmitInteger, MVT::i32, 0,
14299/* 27672*/ OPC_EmitInteger, MVT::i64, 0,
14300/* 27675*/ OPC_EmitConvertToTarget, 3,
14301/* 27677*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::STORE_LANE_I8x16_A64), 0|OPFL_Chain|OPFL_MemRefs,
14302 MVT::v16i8, 5/*#Ops*/, 4, 5, 6, 1, 2,
14303 // Src: (intrinsic_void 8642:{ *:[iPTR] }, I64:{ *:[i64] }:$addr, V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx) - Complexity = 12
14304 // Dst: (STORE_LANE_I8x16_A64:{ *:[v16i8] } 0:{ *:[i32] }, 0:{ *:[i64] }, (imm:{ *:[i32] }):$idx, ?:{ *:[i64] }:$addr, ?:{ *:[v16i8] }:$vec)
14305/* 27688*/ 0, /*End of Scope*/
14306/* 27689*/ /*Scope*/ 73, /*->27763*/
14307/* 27690*/ OPC_CheckChild1Integer, 63|128,67/*8639*/,
14308/* 27693*/ OPC_RecordChild2, // #1 = $addr
14309/* 27694*/ OPC_Scope, 32, /*->27728*/ // 2 children in Scope
14310/* 27696*/ OPC_CheckChild2Type, MVT::i32,
14311/* 27698*/ OPC_RecordChild3, // #2 = $vec
14312/* 27699*/ OPC_RecordChild4, // #3 = $idx
14313/* 27700*/ OPC_MoveChild4,
14314/* 27701*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14315/* 27704*/ OPC_CheckPredicate, 5, // Predicate_LaneIdx8
14316/* 27706*/ OPC_MoveParent,
14317/* 27707*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14318/* 27709*/ OPC_EmitMergeInputChains1_0,
14319/* 27710*/ OPC_EmitInteger, MVT::i32, 0,
14320/* 27713*/ OPC_EmitInteger, MVT::i32, 0,
14321/* 27716*/ OPC_EmitConvertToTarget, 3,
14322/* 27718*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_LANE_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
14323 5/*#Ops*/, 4, 5, 6, 1, 2,
14324 // Src: (intrinsic_void 8639:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx) - Complexity = 12
14325 // Dst: (STORE_LANE_I16x8_A32 0:{ *:[i32] }, 0:{ *:[i32] }, (imm:{ *:[i32] }):$idx, ?:{ *:[i32] }:$addr, ?:{ *:[v8i16] }:$vec)
14326/* 27728*/ /*Scope*/ 33, /*->27762*/
14327/* 27729*/ OPC_CheckChild2Type, MVT::i64,
14328/* 27731*/ OPC_RecordChild3, // #2 = $vec
14329/* 27732*/ OPC_RecordChild4, // #3 = $idx
14330/* 27733*/ OPC_MoveChild4,
14331/* 27734*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14332/* 27737*/ OPC_CheckPredicate, 5, // Predicate_LaneIdx8
14333/* 27739*/ OPC_MoveParent,
14334/* 27740*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14335/* 27742*/ OPC_EmitMergeInputChains1_0,
14336/* 27743*/ OPC_EmitInteger, MVT::i32, 0,
14337/* 27746*/ OPC_EmitInteger, MVT::i64, 0,
14338/* 27749*/ OPC_EmitConvertToTarget, 3,
14339/* 27751*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::STORE_LANE_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
14340 MVT::v16i8, 5/*#Ops*/, 4, 5, 6, 1, 2,
14341 // Src: (intrinsic_void 8639:{ *:[iPTR] }, I64:{ *:[i64] }:$addr, V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx) - Complexity = 12
14342 // Dst: (STORE_LANE_I16x8_A64:{ *:[v16i8] } 0:{ *:[i32] }, 0:{ *:[i64] }, (imm:{ *:[i32] }):$idx, ?:{ *:[i64] }:$addr, ?:{ *:[v8i16] }:$vec)
14343/* 27762*/ 0, /*End of Scope*/
14344/* 27763*/ /*Scope*/ 73, /*->27837*/
14345/* 27764*/ OPC_CheckChild1Integer, 64|128,67/*8640*/,
14346/* 27767*/ OPC_RecordChild2, // #1 = $addr
14347/* 27768*/ OPC_Scope, 32, /*->27802*/ // 2 children in Scope
14348/* 27770*/ OPC_CheckChild2Type, MVT::i32,
14349/* 27772*/ OPC_RecordChild3, // #2 = $vec
14350/* 27773*/ OPC_RecordChild4, // #3 = $idx
14351/* 27774*/ OPC_MoveChild4,
14352/* 27775*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14353/* 27778*/ OPC_CheckPredicate, 7, // Predicate_LaneIdx4
14354/* 27780*/ OPC_MoveParent,
14355/* 27781*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14356/* 27783*/ OPC_EmitMergeInputChains1_0,
14357/* 27784*/ OPC_EmitInteger, MVT::i32, 0,
14358/* 27787*/ OPC_EmitInteger, MVT::i32, 0,
14359/* 27790*/ OPC_EmitConvertToTarget, 3,
14360/* 27792*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_LANE_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
14361 5/*#Ops*/, 4, 5, 6, 1, 2,
14362 // Src: (intrinsic_void 8640:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, V128:{ *:[v4i32] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx4>>:$idx) - Complexity = 12
14363 // Dst: (STORE_LANE_I32x4_A32 0:{ *:[i32] }, 0:{ *:[i32] }, (imm:{ *:[i32] }):$idx, ?:{ *:[i32] }:$addr, ?:{ *:[v4i32] }:$vec)
14364/* 27802*/ /*Scope*/ 33, /*->27836*/
14365/* 27803*/ OPC_CheckChild2Type, MVT::i64,
14366/* 27805*/ OPC_RecordChild3, // #2 = $vec
14367/* 27806*/ OPC_RecordChild4, // #3 = $idx
14368/* 27807*/ OPC_MoveChild4,
14369/* 27808*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14370/* 27811*/ OPC_CheckPredicate, 7, // Predicate_LaneIdx4
14371/* 27813*/ OPC_MoveParent,
14372/* 27814*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14373/* 27816*/ OPC_EmitMergeInputChains1_0,
14374/* 27817*/ OPC_EmitInteger, MVT::i32, 0,
14375/* 27820*/ OPC_EmitInteger, MVT::i64, 0,
14376/* 27823*/ OPC_EmitConvertToTarget, 3,
14377/* 27825*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::STORE_LANE_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
14378 MVT::v16i8, 5/*#Ops*/, 4, 5, 6, 1, 2,
14379 // Src: (intrinsic_void 8640:{ *:[iPTR] }, I64:{ *:[i64] }:$addr, V128:{ *:[v4i32] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx4>>:$idx) - Complexity = 12
14380 // Dst: (STORE_LANE_I32x4_A64:{ *:[v16i8] } 0:{ *:[i32] }, 0:{ *:[i64] }, (imm:{ *:[i32] }):$idx, ?:{ *:[i64] }:$addr, ?:{ *:[v4i32] }:$vec)
14381/* 27836*/ 0, /*End of Scope*/
14382/* 27837*/ /*Scope*/ 73, /*->27911*/
14383/* 27838*/ OPC_CheckChild1Integer, 65|128,67/*8641*/,
14384/* 27841*/ OPC_RecordChild2, // #1 = $addr
14385/* 27842*/ OPC_Scope, 32, /*->27876*/ // 2 children in Scope
14386/* 27844*/ OPC_CheckChild2Type, MVT::i32,
14387/* 27846*/ OPC_RecordChild3, // #2 = $vec
14388/* 27847*/ OPC_RecordChild4, // #3 = $idx
14389/* 27848*/ OPC_MoveChild4,
14390/* 27849*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14391/* 27852*/ OPC_CheckPredicate, 8, // Predicate_LaneIdx2
14392/* 27854*/ OPC_MoveParent,
14393/* 27855*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14394/* 27857*/ OPC_EmitMergeInputChains1_0,
14395/* 27858*/ OPC_EmitInteger, MVT::i32, 0,
14396/* 27861*/ OPC_EmitInteger, MVT::i32, 0,
14397/* 27864*/ OPC_EmitConvertToTarget, 3,
14398/* 27866*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_LANE_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
14399 5/*#Ops*/, 4, 5, 6, 1, 2,
14400 // Src: (intrinsic_void 8641:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, V128:{ *:[v2i64] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx2>>:$idx) - Complexity = 12
14401 // Dst: (STORE_LANE_I64x2_A32 0:{ *:[i32] }, 0:{ *:[i32] }, (imm:{ *:[i32] }):$idx, ?:{ *:[i32] }:$addr, ?:{ *:[v2i64] }:$vec)
14402/* 27876*/ /*Scope*/ 33, /*->27910*/
14403/* 27877*/ OPC_CheckChild2Type, MVT::i64,
14404/* 27879*/ OPC_RecordChild3, // #2 = $vec
14405/* 27880*/ OPC_RecordChild4, // #3 = $idx
14406/* 27881*/ OPC_MoveChild4,
14407/* 27882*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14408/* 27885*/ OPC_CheckPredicate, 8, // Predicate_LaneIdx2
14409/* 27887*/ OPC_MoveParent,
14410/* 27888*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14411/* 27890*/ OPC_EmitMergeInputChains1_0,
14412/* 27891*/ OPC_EmitInteger, MVT::i32, 0,
14413/* 27894*/ OPC_EmitInteger, MVT::i64, 0,
14414/* 27897*/ OPC_EmitConvertToTarget, 3,
14415/* 27899*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::STORE_LANE_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
14416 MVT::v16i8, 5/*#Ops*/, 4, 5, 6, 1, 2,
14417 // Src: (intrinsic_void 8641:{ *:[iPTR] }, I64:{ *:[i64] }:$addr, V128:{ *:[v2i64] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx2>>:$idx) - Complexity = 12
14418 // Dst: (STORE_LANE_I64x2_A64:{ *:[v16i8] } 0:{ *:[i32] }, 0:{ *:[i64] }, (imm:{ *:[i32] }):$idx, ?:{ *:[i64] }:$addr, ?:{ *:[v2i64] }:$vec)
14419/* 27910*/ 0, /*End of Scope*/
14420/* 27911*/ 0, /*End of Scope*/
14421/* 27912*/ /*Scope*/ 16, /*->27929*/
14422/* 27913*/ OPC_RecordNode, // #0 = 'intrinsic_void' chained node
14423/* 27914*/ OPC_CheckChild1Integer, 60|128,67/*8636*/,
14424/* 27917*/ OPC_CheckPatternPredicate, 9, // (Subtarget->hasExceptionHandling())
14425/* 27919*/ OPC_EmitMergeInputChains1_0,
14426/* 27920*/ OPC_EmitInteger, MVT::i32, 0,
14427/* 27923*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETHROW), 0|OPFL_Chain,
14428 1/*#Ops*/, 1,
14429 // Src: (intrinsic_void 8636:{ *:[iPTR] }) - Complexity = 8
14430 // Dst: (RETHROW 0:{ *:[i32] })
14431/* 27929*/ /*Scope*/ 98, /*->28028*/
14432/* 27930*/ OPC_RecordMemRef,
14433/* 27931*/ OPC_RecordNode, // #0 = 'intrinsic_void' chained node
14434/* 27932*/ OPC_Scope, 46, /*->27980*/ // 2 children in Scope
14435/* 27934*/ OPC_CheckChild1Integer, 55|128,67/*8631*/,
14436/* 27937*/ OPC_RecordChild2, // #1 = $addr
14437/* 27938*/ OPC_Scope, 19, /*->27959*/ // 2 children in Scope
14438/* 27940*/ OPC_CheckChild2Type, MVT::i32,
14439/* 27942*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14440/* 27944*/ OPC_EmitMergeInputChains1_0,
14441/* 27945*/ OPC_EmitInteger, MVT::i32, 0,
14442/* 27948*/ OPC_EmitInteger, MVT::i32, 0,
14443/* 27951*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::PREFETCH_T_A32), 0|OPFL_Chain|OPFL_MemRefs,
14444 3/*#Ops*/, 2, 3, 1,
14445 // Src: (intrinsic_void 8631:{ *:[iPTR] }, I32:{ *:[i32] }:$addr) - Complexity = 8
14446 // Dst: (PREFETCH_T_A32 0:{ *:[i32] }, 0:{ *:[i32] }, ?:{ *:[i32] }:$addr)
14447/* 27959*/ /*Scope*/ 19, /*->27979*/
14448/* 27960*/ OPC_CheckChild2Type, MVT::i64,
14449/* 27962*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14450/* 27964*/ OPC_EmitMergeInputChains1_0,
14451/* 27965*/ OPC_EmitInteger, MVT::i32, 0,
14452/* 27968*/ OPC_EmitInteger, MVT::i64, 0,
14453/* 27971*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::PREFETCH_T_A64), 0|OPFL_Chain|OPFL_MemRefs,
14454 3/*#Ops*/, 2, 3, 1,
14455 // Src: (intrinsic_void 8631:{ *:[iPTR] }, I64:{ *:[i64] }:$addr) - Complexity = 8
14456 // Dst: (PREFETCH_T_A64 0:{ *:[i32] }, 0:{ *:[i64] }, ?:{ *:[i64] }:$addr)
14457/* 27979*/ 0, /*End of Scope*/
14458/* 27980*/ /*Scope*/ 46, /*->28027*/
14459/* 27981*/ OPC_CheckChild1Integer, 54|128,67/*8630*/,
14460/* 27984*/ OPC_RecordChild2, // #1 = $addr
14461/* 27985*/ OPC_Scope, 19, /*->28006*/ // 2 children in Scope
14462/* 27987*/ OPC_CheckChild2Type, MVT::i32,
14463/* 27989*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14464/* 27991*/ OPC_EmitMergeInputChains1_0,
14465/* 27992*/ OPC_EmitInteger, MVT::i32, 0,
14466/* 27995*/ OPC_EmitInteger, MVT::i32, 0,
14467/* 27998*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::PREFETCH_NT_A32), 0|OPFL_Chain|OPFL_MemRefs,
14468 3/*#Ops*/, 2, 3, 1,
14469 // Src: (intrinsic_void 8630:{ *:[iPTR] }, I32:{ *:[i32] }:$addr) - Complexity = 8
14470 // Dst: (PREFETCH_NT_A32 0:{ *:[i32] }, 0:{ *:[i32] }, ?:{ *:[i32] }:$addr)
14471/* 28006*/ /*Scope*/ 19, /*->28026*/
14472/* 28007*/ OPC_CheckChild2Type, MVT::i64,
14473/* 28009*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14474/* 28011*/ OPC_EmitMergeInputChains1_0,
14475/* 28012*/ OPC_EmitInteger, MVT::i32, 0,
14476/* 28015*/ OPC_EmitInteger, MVT::i64, 0,
14477/* 28018*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::PREFETCH_NT_A64), 0|OPFL_Chain|OPFL_MemRefs,
14478 3/*#Ops*/, 2, 3, 1,
14479 // Src: (intrinsic_void 8630:{ *:[iPTR] }, I64:{ *:[i64] }:$addr) - Complexity = 8
14480 // Dst: (PREFETCH_NT_A64 0:{ *:[i32] }, 0:{ *:[i64] }, ?:{ *:[i64] }:$addr)
14481/* 28026*/ 0, /*End of Scope*/
14482/* 28027*/ 0, /*End of Scope*/
14483/* 28028*/ 0, /*End of Scope*/
14484/* 28029*/ /*SwitchOpcode*/ 8|128,73/*9352*/, TARGET_VAL(ISD::LOAD),// ->37385
14485/* 28033*/ OPC_RecordMemRef,
14486/* 28034*/ OPC_RecordNode, // #0 = 'ld' chained node
14487/* 28035*/ OPC_Scope, 3|128,21/*2691*/, /*->30729*/ // 8 children in Scope
14488/* 28038*/ OPC_MoveChild1,
14489/* 28039*/ OPC_SwitchOpcode /*3 cases */, 51|128,6/*819*/, TARGET_VAL(ISD::ADD),// ->28863
14490/* 28044*/ OPC_RecordChild0, // #1 = $addr
14491/* 28045*/ OPC_RecordChild1, // #2 = $off
14492/* 28046*/ OPC_MoveChild1,
14493/* 28047*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14494/* 28050*/ OPC_MoveParent,
14495/* 28051*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
14496/* 28053*/ OPC_SwitchType /*2 cases */, 17|128,3/*401*/, MVT::i32,// ->28458
14497/* 28057*/ OPC_MoveParent,
14498/* 28058*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
14499/* 28060*/ OPC_Scope, 42, /*->28104*/ // 12 children in Scope
14500/* 28062*/ OPC_CheckPredicate, 11, // Predicate_load
14501/* 28064*/ OPC_SwitchType /*2 cases */, 17, MVT::i32,// ->28084
14502/* 28067*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14503/* 28069*/ OPC_EmitMergeInputChains1_0,
14504/* 28070*/ OPC_EmitInteger, MVT::i32, 0,
14505/* 28073*/ OPC_EmitConvertToTarget, 2,
14506/* 28075*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14507 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14508 // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
14509 // Dst: (LOAD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14510/* 28084*/ /*SwitchType*/ 17, MVT::i64,// ->28103
14511/* 28086*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14512/* 28088*/ OPC_EmitMergeInputChains1_0,
14513/* 28089*/ OPC_EmitInteger, MVT::i32, 0,
14514/* 28092*/ OPC_EmitConvertToTarget, 2,
14515/* 28094*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
14516 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14517 // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
14518 // Dst: (LOAD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14519/* 28103*/ 0, // EndSwitchType
14520/* 28104*/ /*Scope*/ 23, /*->28128*/
14521/* 28105*/ OPC_CheckPredicate, 12, // Predicate_sextload
14522/* 28107*/ OPC_CheckPredicate, 1, // Predicate_sextloadi8
14523/* 28109*/ OPC_CheckType, MVT::i32,
14524/* 28111*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14525/* 28113*/ OPC_EmitMergeInputChains1_0,
14526/* 28114*/ OPC_EmitInteger, MVT::i32, 0,
14527/* 28117*/ OPC_EmitConvertToTarget, 2,
14528/* 28119*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14529 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14530 // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 11
14531 // Dst: (LOAD8_S_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14532/* 28128*/ /*Scope*/ 23, /*->28152*/
14533/* 28129*/ OPC_CheckPredicate, 13, // Predicate_zextload
14534/* 28131*/ OPC_CheckPredicate, 1, // Predicate_zextloadi8
14535/* 28133*/ OPC_CheckType, MVT::i32,
14536/* 28135*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14537/* 28137*/ OPC_EmitMergeInputChains1_0,
14538/* 28138*/ OPC_EmitInteger, MVT::i32, 0,
14539/* 28141*/ OPC_EmitConvertToTarget, 2,
14540/* 28143*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14541 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14542 // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 11
14543 // Dst: (LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14544/* 28152*/ /*Scope*/ 23, /*->28176*/
14545/* 28153*/ OPC_CheckPredicate, 12, // Predicate_sextload
14546/* 28155*/ OPC_CheckPredicate, 2, // Predicate_sextloadi16
14547/* 28157*/ OPC_CheckType, MVT::i32,
14548/* 28159*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14549/* 28161*/ OPC_EmitMergeInputChains1_0,
14550/* 28162*/ OPC_EmitInteger, MVT::i32, 0,
14551/* 28165*/ OPC_EmitConvertToTarget, 2,
14552/* 28167*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14553 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14554 // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 11
14555 // Dst: (LOAD16_S_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14556/* 28176*/ /*Scope*/ 23, /*->28200*/
14557/* 28177*/ OPC_CheckPredicate, 13, // Predicate_zextload
14558/* 28179*/ OPC_CheckPredicate, 2, // Predicate_zextloadi16
14559/* 28181*/ OPC_CheckType, MVT::i32,
14560/* 28183*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14561/* 28185*/ OPC_EmitMergeInputChains1_0,
14562/* 28186*/ OPC_EmitInteger, MVT::i32, 0,
14563/* 28189*/ OPC_EmitConvertToTarget, 2,
14564/* 28191*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14565 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14566 // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 11
14567 // Dst: (LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14568/* 28200*/ /*Scope*/ 23, /*->28224*/
14569/* 28201*/ OPC_CheckPredicate, 12, // Predicate_sextload
14570/* 28203*/ OPC_CheckPredicate, 1, // Predicate_sextloadi8
14571/* 28205*/ OPC_CheckType, MVT::i64,
14572/* 28207*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14573/* 28209*/ OPC_EmitMergeInputChains1_0,
14574/* 28210*/ OPC_EmitInteger, MVT::i32, 0,
14575/* 28213*/ OPC_EmitConvertToTarget, 2,
14576/* 28215*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
14577 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14578 // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 11
14579 // Dst: (LOAD8_S_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14580/* 28224*/ /*Scope*/ 23, /*->28248*/
14581/* 28225*/ OPC_CheckPredicate, 13, // Predicate_zextload
14582/* 28227*/ OPC_CheckPredicate, 1, // Predicate_zextloadi8
14583/* 28229*/ OPC_CheckType, MVT::i64,
14584/* 28231*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14585/* 28233*/ OPC_EmitMergeInputChains1_0,
14586/* 28234*/ OPC_EmitInteger, MVT::i32, 0,
14587/* 28237*/ OPC_EmitConvertToTarget, 2,
14588/* 28239*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
14589 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14590 // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 11
14591 // Dst: (LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14592/* 28248*/ /*Scope*/ 23, /*->28272*/
14593/* 28249*/ OPC_CheckPredicate, 12, // Predicate_sextload
14594/* 28251*/ OPC_CheckPredicate, 2, // Predicate_sextloadi16
14595/* 28253*/ OPC_CheckType, MVT::i64,
14596/* 28255*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14597/* 28257*/ OPC_EmitMergeInputChains1_0,
14598/* 28258*/ OPC_EmitInteger, MVT::i32, 0,
14599/* 28261*/ OPC_EmitConvertToTarget, 2,
14600/* 28263*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
14601 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14602 // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 11
14603 // Dst: (LOAD16_S_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14604/* 28272*/ /*Scope*/ 23, /*->28296*/
14605/* 28273*/ OPC_CheckPredicate, 13, // Predicate_zextload
14606/* 28275*/ OPC_CheckPredicate, 2, // Predicate_zextloadi16
14607/* 28277*/ OPC_CheckType, MVT::i64,
14608/* 28279*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14609/* 28281*/ OPC_EmitMergeInputChains1_0,
14610/* 28282*/ OPC_EmitInteger, MVT::i32, 0,
14611/* 28285*/ OPC_EmitConvertToTarget, 2,
14612/* 28287*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
14613 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14614 // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 11
14615 // Dst: (LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14616/* 28296*/ /*Scope*/ 23, /*->28320*/
14617/* 28297*/ OPC_CheckPredicate, 12, // Predicate_sextload
14618/* 28299*/ OPC_CheckPredicate, 6, // Predicate_sextloadi32
14619/* 28301*/ OPC_CheckType, MVT::i64,
14620/* 28303*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14621/* 28305*/ OPC_EmitMergeInputChains1_0,
14622/* 28306*/ OPC_EmitInteger, MVT::i32, 0,
14623/* 28309*/ OPC_EmitConvertToTarget, 2,
14624/* 28311*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
14625 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14626 // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 11
14627 // Dst: (LOAD32_S_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14628/* 28320*/ /*Scope*/ 23, /*->28344*/
14629/* 28321*/ OPC_CheckPredicate, 13, // Predicate_zextload
14630/* 28323*/ OPC_CheckPredicate, 6, // Predicate_zextloadi32
14631/* 28325*/ OPC_CheckType, MVT::i64,
14632/* 28327*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14633/* 28329*/ OPC_EmitMergeInputChains1_0,
14634/* 28330*/ OPC_EmitInteger, MVT::i32, 0,
14635/* 28333*/ OPC_EmitConvertToTarget, 2,
14636/* 28335*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
14637 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14638 // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 11
14639 // Dst: (LOAD32_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14640/* 28344*/ /*Scope*/ 112, /*->28457*/
14641/* 28345*/ OPC_CheckPredicate, 14, // Predicate_extload
14642/* 28347*/ OPC_SwitchType /*2 cases */, 42, MVT::i32,// ->28392
14643/* 28350*/ OPC_Scope, 19, /*->28371*/ // 2 children in Scope
14644/* 28352*/ OPC_CheckPredicate, 1, // Predicate_extloadi8
14645/* 28354*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14646/* 28356*/ OPC_EmitMergeInputChains1_0,
14647/* 28357*/ OPC_EmitInteger, MVT::i32, 0,
14648/* 28360*/ OPC_EmitConvertToTarget, 2,
14649/* 28362*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14650 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14651 // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 11
14652 // Dst: (LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14653/* 28371*/ /*Scope*/ 19, /*->28391*/
14654/* 28372*/ OPC_CheckPredicate, 2, // Predicate_extloadi16
14655/* 28374*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14656/* 28376*/ OPC_EmitMergeInputChains1_0,
14657/* 28377*/ OPC_EmitInteger, MVT::i32, 0,
14658/* 28380*/ OPC_EmitConvertToTarget, 2,
14659/* 28382*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14660 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14661 // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 11
14662 // Dst: (LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14663/* 28391*/ 0, /*End of Scope*/
14664/* 28392*/ /*SwitchType*/ 62, MVT::i64,// ->28456
14665/* 28394*/ OPC_Scope, 19, /*->28415*/ // 3 children in Scope
14666/* 28396*/ OPC_CheckPredicate, 1, // Predicate_extloadi8
14667/* 28398*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14668/* 28400*/ OPC_EmitMergeInputChains1_0,
14669/* 28401*/ OPC_EmitInteger, MVT::i32, 0,
14670/* 28404*/ OPC_EmitConvertToTarget, 2,
14671/* 28406*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
14672 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14673 // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 11
14674 // Dst: (LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14675/* 28415*/ /*Scope*/ 19, /*->28435*/
14676/* 28416*/ OPC_CheckPredicate, 2, // Predicate_extloadi16
14677/* 28418*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14678/* 28420*/ OPC_EmitMergeInputChains1_0,
14679/* 28421*/ OPC_EmitInteger, MVT::i32, 0,
14680/* 28424*/ OPC_EmitConvertToTarget, 2,
14681/* 28426*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
14682 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14683 // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 11
14684 // Dst: (LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14685/* 28435*/ /*Scope*/ 19, /*->28455*/
14686/* 28436*/ OPC_CheckPredicate, 6, // Predicate_extloadi32
14687/* 28438*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14688/* 28440*/ OPC_EmitMergeInputChains1_0,
14689/* 28441*/ OPC_EmitInteger, MVT::i32, 0,
14690/* 28444*/ OPC_EmitConvertToTarget, 2,
14691/* 28446*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
14692 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14693 // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 11
14694 // Dst: (LOAD32_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14695/* 28455*/ 0, /*End of Scope*/
14696/* 28456*/ 0, // EndSwitchType
14697/* 28457*/ 0, /*End of Scope*/
14698/* 28458*/ /*SwitchType*/ 17|128,3/*401*/, MVT::i64,// ->28862
14699/* 28461*/ OPC_MoveParent,
14700/* 28462*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
14701/* 28464*/ OPC_Scope, 42, /*->28508*/ // 12 children in Scope
14702/* 28466*/ OPC_CheckPredicate, 11, // Predicate_load
14703/* 28468*/ OPC_SwitchType /*2 cases */, 17, MVT::i32,// ->28488
14704/* 28471*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14705/* 28473*/ OPC_EmitMergeInputChains1_0,
14706/* 28474*/ OPC_EmitInteger, MVT::i32, 0,
14707/* 28477*/ OPC_EmitConvertToTarget, 2,
14708/* 28479*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
14709 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14710 // Src: (ld:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
14711 // Dst: (LOAD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14712/* 28488*/ /*SwitchType*/ 17, MVT::i64,// ->28507
14713/* 28490*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14714/* 28492*/ OPC_EmitMergeInputChains1_0,
14715/* 28493*/ OPC_EmitInteger, MVT::i32, 0,
14716/* 28496*/ OPC_EmitConvertToTarget, 2,
14717/* 28498*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
14718 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14719 // Src: (ld:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
14720 // Dst: (LOAD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14721/* 28507*/ 0, // EndSwitchType
14722/* 28508*/ /*Scope*/ 23, /*->28532*/
14723/* 28509*/ OPC_CheckPredicate, 12, // Predicate_sextload
14724/* 28511*/ OPC_CheckPredicate, 1, // Predicate_sextloadi8
14725/* 28513*/ OPC_CheckType, MVT::i32,
14726/* 28515*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14727/* 28517*/ OPC_EmitMergeInputChains1_0,
14728/* 28518*/ OPC_EmitInteger, MVT::i32, 0,
14729/* 28521*/ OPC_EmitConvertToTarget, 2,
14730/* 28523*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
14731 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14732 // Src: (ld:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 11
14733 // Dst: (LOAD8_S_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14734/* 28532*/ /*Scope*/ 23, /*->28556*/
14735/* 28533*/ OPC_CheckPredicate, 13, // Predicate_zextload
14736/* 28535*/ OPC_CheckPredicate, 1, // Predicate_zextloadi8
14737/* 28537*/ OPC_CheckType, MVT::i32,
14738/* 28539*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14739/* 28541*/ OPC_EmitMergeInputChains1_0,
14740/* 28542*/ OPC_EmitInteger, MVT::i32, 0,
14741/* 28545*/ OPC_EmitConvertToTarget, 2,
14742/* 28547*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
14743 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14744 // Src: (ld:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 11
14745 // Dst: (LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14746/* 28556*/ /*Scope*/ 23, /*->28580*/
14747/* 28557*/ OPC_CheckPredicate, 12, // Predicate_sextload
14748/* 28559*/ OPC_CheckPredicate, 2, // Predicate_sextloadi16
14749/* 28561*/ OPC_CheckType, MVT::i32,
14750/* 28563*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14751/* 28565*/ OPC_EmitMergeInputChains1_0,
14752/* 28566*/ OPC_EmitInteger, MVT::i32, 0,
14753/* 28569*/ OPC_EmitConvertToTarget, 2,
14754/* 28571*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
14755 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14756 // Src: (ld:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 11
14757 // Dst: (LOAD16_S_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14758/* 28580*/ /*Scope*/ 23, /*->28604*/
14759/* 28581*/ OPC_CheckPredicate, 13, // Predicate_zextload
14760/* 28583*/ OPC_CheckPredicate, 2, // Predicate_zextloadi16
14761/* 28585*/ OPC_CheckType, MVT::i32,
14762/* 28587*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14763/* 28589*/ OPC_EmitMergeInputChains1_0,
14764/* 28590*/ OPC_EmitInteger, MVT::i32, 0,
14765/* 28593*/ OPC_EmitConvertToTarget, 2,
14766/* 28595*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
14767 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14768 // Src: (ld:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 11
14769 // Dst: (LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14770/* 28604*/ /*Scope*/ 23, /*->28628*/
14771/* 28605*/ OPC_CheckPredicate, 12, // Predicate_sextload
14772/* 28607*/ OPC_CheckPredicate, 1, // Predicate_sextloadi8
14773/* 28609*/ OPC_CheckType, MVT::i64,
14774/* 28611*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14775/* 28613*/ OPC_EmitMergeInputChains1_0,
14776/* 28614*/ OPC_EmitInteger, MVT::i32, 0,
14777/* 28617*/ OPC_EmitConvertToTarget, 2,
14778/* 28619*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
14779 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14780 // Src: (ld:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 11
14781 // Dst: (LOAD8_S_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14782/* 28628*/ /*Scope*/ 23, /*->28652*/
14783/* 28629*/ OPC_CheckPredicate, 13, // Predicate_zextload
14784/* 28631*/ OPC_CheckPredicate, 1, // Predicate_zextloadi8
14785/* 28633*/ OPC_CheckType, MVT::i64,
14786/* 28635*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14787/* 28637*/ OPC_EmitMergeInputChains1_0,
14788/* 28638*/ OPC_EmitInteger, MVT::i32, 0,
14789/* 28641*/ OPC_EmitConvertToTarget, 2,
14790/* 28643*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
14791 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14792 // Src: (ld:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 11
14793 // Dst: (LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14794/* 28652*/ /*Scope*/ 23, /*->28676*/
14795/* 28653*/ OPC_CheckPredicate, 12, // Predicate_sextload
14796/* 28655*/ OPC_CheckPredicate, 2, // Predicate_sextloadi16
14797/* 28657*/ OPC_CheckType, MVT::i64,
14798/* 28659*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14799/* 28661*/ OPC_EmitMergeInputChains1_0,
14800/* 28662*/ OPC_EmitInteger, MVT::i32, 0,
14801/* 28665*/ OPC_EmitConvertToTarget, 2,
14802/* 28667*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
14803 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14804 // Src: (ld:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 11
14805 // Dst: (LOAD16_S_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14806/* 28676*/ /*Scope*/ 23, /*->28700*/
14807/* 28677*/ OPC_CheckPredicate, 13, // Predicate_zextload
14808/* 28679*/ OPC_CheckPredicate, 2, // Predicate_zextloadi16
14809/* 28681*/ OPC_CheckType, MVT::i64,
14810/* 28683*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14811/* 28685*/ OPC_EmitMergeInputChains1_0,
14812/* 28686*/ OPC_EmitInteger, MVT::i32, 0,
14813/* 28689*/ OPC_EmitConvertToTarget, 2,
14814/* 28691*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
14815 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14816 // Src: (ld:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 11
14817 // Dst: (LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14818/* 28700*/ /*Scope*/ 23, /*->28724*/
14819/* 28701*/ OPC_CheckPredicate, 12, // Predicate_sextload
14820/* 28703*/ OPC_CheckPredicate, 6, // Predicate_sextloadi32
14821/* 28705*/ OPC_CheckType, MVT::i64,
14822/* 28707*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14823/* 28709*/ OPC_EmitMergeInputChains1_0,
14824/* 28710*/ OPC_EmitInteger, MVT::i32, 0,
14825/* 28713*/ OPC_EmitConvertToTarget, 2,
14826/* 28715*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
14827 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14828 // Src: (ld:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 11
14829 // Dst: (LOAD32_S_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14830/* 28724*/ /*Scope*/ 23, /*->28748*/
14831/* 28725*/ OPC_CheckPredicate, 13, // Predicate_zextload
14832/* 28727*/ OPC_CheckPredicate, 6, // Predicate_zextloadi32
14833/* 28729*/ OPC_CheckType, MVT::i64,
14834/* 28731*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14835/* 28733*/ OPC_EmitMergeInputChains1_0,
14836/* 28734*/ OPC_EmitInteger, MVT::i32, 0,
14837/* 28737*/ OPC_EmitConvertToTarget, 2,
14838/* 28739*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
14839 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14840 // Src: (ld:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 11
14841 // Dst: (LOAD32_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14842/* 28748*/ /*Scope*/ 112, /*->28861*/
14843/* 28749*/ OPC_CheckPredicate, 14, // Predicate_extload
14844/* 28751*/ OPC_SwitchType /*2 cases */, 42, MVT::i32,// ->28796
14845/* 28754*/ OPC_Scope, 19, /*->28775*/ // 2 children in Scope
14846/* 28756*/ OPC_CheckPredicate, 1, // Predicate_extloadi8
14847/* 28758*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14848/* 28760*/ OPC_EmitMergeInputChains1_0,
14849/* 28761*/ OPC_EmitInteger, MVT::i32, 0,
14850/* 28764*/ OPC_EmitConvertToTarget, 2,
14851/* 28766*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
14852 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14853 // Src: (ld:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 11
14854 // Dst: (LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14855/* 28775*/ /*Scope*/ 19, /*->28795*/
14856/* 28776*/ OPC_CheckPredicate, 2, // Predicate_extloadi16
14857/* 28778*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14858/* 28780*/ OPC_EmitMergeInputChains1_0,
14859/* 28781*/ OPC_EmitInteger, MVT::i32, 0,
14860/* 28784*/ OPC_EmitConvertToTarget, 2,
14861/* 28786*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
14862 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14863 // Src: (ld:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 11
14864 // Dst: (LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14865/* 28795*/ 0, /*End of Scope*/
14866/* 28796*/ /*SwitchType*/ 62, MVT::i64,// ->28860
14867/* 28798*/ OPC_Scope, 19, /*->28819*/ // 3 children in Scope
14868/* 28800*/ OPC_CheckPredicate, 1, // Predicate_extloadi8
14869/* 28802*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14870/* 28804*/ OPC_EmitMergeInputChains1_0,
14871/* 28805*/ OPC_EmitInteger, MVT::i32, 0,
14872/* 28808*/ OPC_EmitConvertToTarget, 2,
14873/* 28810*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
14874 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14875 // Src: (ld:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 11
14876 // Dst: (LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14877/* 28819*/ /*Scope*/ 19, /*->28839*/
14878/* 28820*/ OPC_CheckPredicate, 2, // Predicate_extloadi16
14879/* 28822*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14880/* 28824*/ OPC_EmitMergeInputChains1_0,
14881/* 28825*/ OPC_EmitInteger, MVT::i32, 0,
14882/* 28828*/ OPC_EmitConvertToTarget, 2,
14883/* 28830*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
14884 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14885 // Src: (ld:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 11
14886 // Dst: (LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14887/* 28839*/ /*Scope*/ 19, /*->28859*/
14888/* 28840*/ OPC_CheckPredicate, 6, // Predicate_extloadi32
14889/* 28842*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
14890/* 28844*/ OPC_EmitMergeInputChains1_0,
14891/* 28845*/ OPC_EmitInteger, MVT::i32, 0,
14892/* 28848*/ OPC_EmitConvertToTarget, 2,
14893/* 28850*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
14894 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14895 // Src: (ld:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 11
14896 // Dst: (LOAD32_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
14897/* 28859*/ 0, /*End of Scope*/
14898/* 28860*/ 0, // EndSwitchType
14899/* 28861*/ 0, /*End of Scope*/
14900/* 28862*/ 0, // EndSwitchType
14901/* 28863*/ /*SwitchOpcode*/ 51|128,6/*819*/, TARGET_VAL(ISD::OR),// ->29686
14902/* 28867*/ OPC_RecordChild0, // #1 = $addr
14903/* 28868*/ OPC_RecordChild1, // #2 = $off
14904/* 28869*/ OPC_MoveChild1,
14905/* 28870*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14906/* 28873*/ OPC_MoveParent,
14907/* 28874*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
14908/* 28876*/ OPC_SwitchType /*2 cases */, 17|128,3/*401*/, MVT::i32,// ->29281
14909/* 28880*/ OPC_MoveParent,
14910/* 28881*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
14911/* 28883*/ OPC_Scope, 42, /*->28927*/ // 12 children in Scope
14912/* 28885*/ OPC_CheckPredicate, 11, // Predicate_load
14913/* 28887*/ OPC_SwitchType /*2 cases */, 17, MVT::i32,// ->28907
14914/* 28890*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14915/* 28892*/ OPC_EmitMergeInputChains1_0,
14916/* 28893*/ OPC_EmitInteger, MVT::i32, 0,
14917/* 28896*/ OPC_EmitConvertToTarget, 2,
14918/* 28898*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14919 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14920 // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
14921 // Dst: (LOAD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14922/* 28907*/ /*SwitchType*/ 17, MVT::i64,// ->28926
14923/* 28909*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14924/* 28911*/ OPC_EmitMergeInputChains1_0,
14925/* 28912*/ OPC_EmitInteger, MVT::i32, 0,
14926/* 28915*/ OPC_EmitConvertToTarget, 2,
14927/* 28917*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
14928 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14929 // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
14930 // Dst: (LOAD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14931/* 28926*/ 0, // EndSwitchType
14932/* 28927*/ /*Scope*/ 23, /*->28951*/
14933/* 28928*/ OPC_CheckPredicate, 12, // Predicate_sextload
14934/* 28930*/ OPC_CheckPredicate, 1, // Predicate_sextloadi8
14935/* 28932*/ OPC_CheckType, MVT::i32,
14936/* 28934*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14937/* 28936*/ OPC_EmitMergeInputChains1_0,
14938/* 28937*/ OPC_EmitInteger, MVT::i32, 0,
14939/* 28940*/ OPC_EmitConvertToTarget, 2,
14940/* 28942*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14941 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14942 // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 11
14943 // Dst: (LOAD8_S_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14944/* 28951*/ /*Scope*/ 23, /*->28975*/
14945/* 28952*/ OPC_CheckPredicate, 13, // Predicate_zextload
14946/* 28954*/ OPC_CheckPredicate, 1, // Predicate_zextloadi8
14947/* 28956*/ OPC_CheckType, MVT::i32,
14948/* 28958*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14949/* 28960*/ OPC_EmitMergeInputChains1_0,
14950/* 28961*/ OPC_EmitInteger, MVT::i32, 0,
14951/* 28964*/ OPC_EmitConvertToTarget, 2,
14952/* 28966*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14953 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14954 // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 11
14955 // Dst: (LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14956/* 28975*/ /*Scope*/ 23, /*->28999*/
14957/* 28976*/ OPC_CheckPredicate, 12, // Predicate_sextload
14958/* 28978*/ OPC_CheckPredicate, 2, // Predicate_sextloadi16
14959/* 28980*/ OPC_CheckType, MVT::i32,
14960/* 28982*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14961/* 28984*/ OPC_EmitMergeInputChains1_0,
14962/* 28985*/ OPC_EmitInteger, MVT::i32, 0,
14963/* 28988*/ OPC_EmitConvertToTarget, 2,
14964/* 28990*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14965 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14966 // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 11
14967 // Dst: (LOAD16_S_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14968/* 28999*/ /*Scope*/ 23, /*->29023*/
14969/* 29000*/ OPC_CheckPredicate, 13, // Predicate_zextload
14970/* 29002*/ OPC_CheckPredicate, 2, // Predicate_zextloadi16
14971/* 29004*/ OPC_CheckType, MVT::i32,
14972/* 29006*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14973/* 29008*/ OPC_EmitMergeInputChains1_0,
14974/* 29009*/ OPC_EmitInteger, MVT::i32, 0,
14975/* 29012*/ OPC_EmitConvertToTarget, 2,
14976/* 29014*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
14977 MVT::i32, 3/*#Ops*/, 3, 4, 1,
14978 // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 11
14979 // Dst: (LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14980/* 29023*/ /*Scope*/ 23, /*->29047*/
14981/* 29024*/ OPC_CheckPredicate, 12, // Predicate_sextload
14982/* 29026*/ OPC_CheckPredicate, 1, // Predicate_sextloadi8
14983/* 29028*/ OPC_CheckType, MVT::i64,
14984/* 29030*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14985/* 29032*/ OPC_EmitMergeInputChains1_0,
14986/* 29033*/ OPC_EmitInteger, MVT::i32, 0,
14987/* 29036*/ OPC_EmitConvertToTarget, 2,
14988/* 29038*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
14989 MVT::i64, 3/*#Ops*/, 3, 4, 1,
14990 // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 11
14991 // Dst: (LOAD8_S_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14992/* 29047*/ /*Scope*/ 23, /*->29071*/
14993/* 29048*/ OPC_CheckPredicate, 13, // Predicate_zextload
14994/* 29050*/ OPC_CheckPredicate, 1, // Predicate_zextloadi8
14995/* 29052*/ OPC_CheckType, MVT::i64,
14996/* 29054*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
14997/* 29056*/ OPC_EmitMergeInputChains1_0,
14998/* 29057*/ OPC_EmitInteger, MVT::i32, 0,
14999/* 29060*/ OPC_EmitConvertToTarget, 2,
15000/* 29062*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15001 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15002 // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 11
15003 // Dst: (LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
15004/* 29071*/ /*Scope*/ 23, /*->29095*/
15005/* 29072*/ OPC_CheckPredicate, 12, // Predicate_sextload
15006/* 29074*/ OPC_CheckPredicate, 2, // Predicate_sextloadi16
15007/* 29076*/ OPC_CheckType, MVT::i64,
15008/* 29078*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15009/* 29080*/ OPC_EmitMergeInputChains1_0,
15010/* 29081*/ OPC_EmitInteger, MVT::i32, 0,
15011/* 29084*/ OPC_EmitConvertToTarget, 2,
15012/* 29086*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15013 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15014 // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 11
15015 // Dst: (LOAD16_S_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
15016/* 29095*/ /*Scope*/ 23, /*->29119*/
15017/* 29096*/ OPC_CheckPredicate, 13, // Predicate_zextload
15018/* 29098*/ OPC_CheckPredicate, 2, // Predicate_zextloadi16
15019/* 29100*/ OPC_CheckType, MVT::i64,
15020/* 29102*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15021/* 29104*/ OPC_EmitMergeInputChains1_0,
15022/* 29105*/ OPC_EmitInteger, MVT::i32, 0,
15023/* 29108*/ OPC_EmitConvertToTarget, 2,
15024/* 29110*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15025 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15026 // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 11
15027 // Dst: (LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
15028/* 29119*/ /*Scope*/ 23, /*->29143*/
15029/* 29120*/ OPC_CheckPredicate, 12, // Predicate_sextload
15030/* 29122*/ OPC_CheckPredicate, 6, // Predicate_sextloadi32
15031/* 29124*/ OPC_CheckType, MVT::i64,
15032/* 29126*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15033/* 29128*/ OPC_EmitMergeInputChains1_0,
15034/* 29129*/ OPC_EmitInteger, MVT::i32, 0,
15035/* 29132*/ OPC_EmitConvertToTarget, 2,
15036/* 29134*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15037 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15038 // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 11
15039 // Dst: (LOAD32_S_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
15040/* 29143*/ /*Scope*/ 23, /*->29167*/
15041/* 29144*/ OPC_CheckPredicate, 13, // Predicate_zextload
15042/* 29146*/ OPC_CheckPredicate, 6, // Predicate_zextloadi32
15043/* 29148*/ OPC_CheckType, MVT::i64,
15044/* 29150*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15045/* 29152*/ OPC_EmitMergeInputChains1_0,
15046/* 29153*/ OPC_EmitInteger, MVT::i32, 0,
15047/* 29156*/ OPC_EmitConvertToTarget, 2,
15048/* 29158*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15049 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15050 // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 11
15051 // Dst: (LOAD32_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
15052/* 29167*/ /*Scope*/ 112, /*->29280*/
15053/* 29168*/ OPC_CheckPredicate, 14, // Predicate_extload
15054/* 29170*/ OPC_SwitchType /*2 cases */, 42, MVT::i32,// ->29215
15055/* 29173*/ OPC_Scope, 19, /*->29194*/ // 2 children in Scope
15056/* 29175*/ OPC_CheckPredicate, 1, // Predicate_extloadi8
15057/* 29177*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15058/* 29179*/ OPC_EmitMergeInputChains1_0,
15059/* 29180*/ OPC_EmitInteger, MVT::i32, 0,
15060/* 29183*/ OPC_EmitConvertToTarget, 2,
15061/* 29185*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
15062 MVT::i32, 3/*#Ops*/, 3, 4, 1,
15063 // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 11
15064 // Dst: (LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
15065/* 29194*/ /*Scope*/ 19, /*->29214*/
15066/* 29195*/ OPC_CheckPredicate, 2, // Predicate_extloadi16
15067/* 29197*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15068/* 29199*/ OPC_EmitMergeInputChains1_0,
15069/* 29200*/ OPC_EmitInteger, MVT::i32, 0,
15070/* 29203*/ OPC_EmitConvertToTarget, 2,
15071/* 29205*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
15072 MVT::i32, 3/*#Ops*/, 3, 4, 1,
15073 // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 11
15074 // Dst: (LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
15075/* 29214*/ 0, /*End of Scope*/
15076/* 29215*/ /*SwitchType*/ 62, MVT::i64,// ->29279
15077/* 29217*/ OPC_Scope, 19, /*->29238*/ // 3 children in Scope
15078/* 29219*/ OPC_CheckPredicate, 1, // Predicate_extloadi8
15079/* 29221*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15080/* 29223*/ OPC_EmitMergeInputChains1_0,
15081/* 29224*/ OPC_EmitInteger, MVT::i32, 0,
15082/* 29227*/ OPC_EmitConvertToTarget, 2,
15083/* 29229*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15084 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15085 // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 11
15086 // Dst: (LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
15087/* 29238*/ /*Scope*/ 19, /*->29258*/
15088/* 29239*/ OPC_CheckPredicate, 2, // Predicate_extloadi16
15089/* 29241*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15090/* 29243*/ OPC_EmitMergeInputChains1_0,
15091/* 29244*/ OPC_EmitInteger, MVT::i32, 0,
15092/* 29247*/ OPC_EmitConvertToTarget, 2,
15093/* 29249*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15094 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15095 // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 11
15096 // Dst: (LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
15097/* 29258*/ /*Scope*/ 19, /*->29278*/
15098/* 29259*/ OPC_CheckPredicate, 6, // Predicate_extloadi32
15099/* 29261*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15100/* 29263*/ OPC_EmitMergeInputChains1_0,
15101/* 29264*/ OPC_EmitInteger, MVT::i32, 0,
15102/* 29267*/ OPC_EmitConvertToTarget, 2,
15103/* 29269*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15104 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15105 // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 11
15106 // Dst: (LOAD32_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
15107/* 29278*/ 0, /*End of Scope*/
15108/* 29279*/ 0, // EndSwitchType
15109/* 29280*/ 0, /*End of Scope*/
15110/* 29281*/ /*SwitchType*/ 17|128,3/*401*/, MVT::i64,// ->29685
15111/* 29284*/ OPC_MoveParent,
15112/* 29285*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
15113/* 29287*/ OPC_Scope, 42, /*->29331*/ // 12 children in Scope
15114/* 29289*/ OPC_CheckPredicate, 11, // Predicate_load
15115/* 29291*/ OPC_SwitchType /*2 cases */, 17, MVT::i32,// ->29311
15116/* 29294*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15117/* 29296*/ OPC_EmitMergeInputChains1_0,
15118/* 29297*/ OPC_EmitInteger, MVT::i32, 0,
15119/* 29300*/ OPC_EmitConvertToTarget, 2,
15120/* 29302*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15121 MVT::i32, 3/*#Ops*/, 3, 4, 1,
15122 // Src: (ld:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
15123 // Dst: (LOAD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15124/* 29311*/ /*SwitchType*/ 17, MVT::i64,// ->29330
15125/* 29313*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15126/* 29315*/ OPC_EmitMergeInputChains1_0,
15127/* 29316*/ OPC_EmitInteger, MVT::i32, 0,
15128/* 29319*/ OPC_EmitConvertToTarget, 2,
15129/* 29321*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15130 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15131 // Src: (ld:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
15132 // Dst: (LOAD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15133/* 29330*/ 0, // EndSwitchType
15134/* 29331*/ /*Scope*/ 23, /*->29355*/
15135/* 29332*/ OPC_CheckPredicate, 12, // Predicate_sextload
15136/* 29334*/ OPC_CheckPredicate, 1, // Predicate_sextloadi8
15137/* 29336*/ OPC_CheckType, MVT::i32,
15138/* 29338*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15139/* 29340*/ OPC_EmitMergeInputChains1_0,
15140/* 29341*/ OPC_EmitInteger, MVT::i32, 0,
15141/* 29344*/ OPC_EmitConvertToTarget, 2,
15142/* 29346*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15143 MVT::i32, 3/*#Ops*/, 3, 4, 1,
15144 // Src: (ld:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 11
15145 // Dst: (LOAD8_S_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15146/* 29355*/ /*Scope*/ 23, /*->29379*/
15147/* 29356*/ OPC_CheckPredicate, 13, // Predicate_zextload
15148/* 29358*/ OPC_CheckPredicate, 1, // Predicate_zextloadi8
15149/* 29360*/ OPC_CheckType, MVT::i32,
15150/* 29362*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15151/* 29364*/ OPC_EmitMergeInputChains1_0,
15152/* 29365*/ OPC_EmitInteger, MVT::i32, 0,
15153/* 29368*/ OPC_EmitConvertToTarget, 2,
15154/* 29370*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15155 MVT::i32, 3/*#Ops*/, 3, 4, 1,
15156 // Src: (ld:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 11
15157 // Dst: (LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15158/* 29379*/ /*Scope*/ 23, /*->29403*/
15159/* 29380*/ OPC_CheckPredicate, 12, // Predicate_sextload
15160/* 29382*/ OPC_CheckPredicate, 2, // Predicate_sextloadi16
15161/* 29384*/ OPC_CheckType, MVT::i32,
15162/* 29386*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15163/* 29388*/ OPC_EmitMergeInputChains1_0,
15164/* 29389*/ OPC_EmitInteger, MVT::i32, 0,
15165/* 29392*/ OPC_EmitConvertToTarget, 2,
15166/* 29394*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15167 MVT::i32, 3/*#Ops*/, 3, 4, 1,
15168 // Src: (ld:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 11
15169 // Dst: (LOAD16_S_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15170/* 29403*/ /*Scope*/ 23, /*->29427*/
15171/* 29404*/ OPC_CheckPredicate, 13, // Predicate_zextload
15172/* 29406*/ OPC_CheckPredicate, 2, // Predicate_zextloadi16
15173/* 29408*/ OPC_CheckType, MVT::i32,
15174/* 29410*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15175/* 29412*/ OPC_EmitMergeInputChains1_0,
15176/* 29413*/ OPC_EmitInteger, MVT::i32, 0,
15177/* 29416*/ OPC_EmitConvertToTarget, 2,
15178/* 29418*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15179 MVT::i32, 3/*#Ops*/, 3, 4, 1,
15180 // Src: (ld:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 11
15181 // Dst: (LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15182/* 29427*/ /*Scope*/ 23, /*->29451*/
15183/* 29428*/ OPC_CheckPredicate, 12, // Predicate_sextload
15184/* 29430*/ OPC_CheckPredicate, 1, // Predicate_sextloadi8
15185/* 29432*/ OPC_CheckType, MVT::i64,
15186/* 29434*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15187/* 29436*/ OPC_EmitMergeInputChains1_0,
15188/* 29437*/ OPC_EmitInteger, MVT::i32, 0,
15189/* 29440*/ OPC_EmitConvertToTarget, 2,
15190/* 29442*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15191 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15192 // Src: (ld:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 11
15193 // Dst: (LOAD8_S_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15194/* 29451*/ /*Scope*/ 23, /*->29475*/
15195/* 29452*/ OPC_CheckPredicate, 13, // Predicate_zextload
15196/* 29454*/ OPC_CheckPredicate, 1, // Predicate_zextloadi8
15197/* 29456*/ OPC_CheckType, MVT::i64,
15198/* 29458*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15199/* 29460*/ OPC_EmitMergeInputChains1_0,
15200/* 29461*/ OPC_EmitInteger, MVT::i32, 0,
15201/* 29464*/ OPC_EmitConvertToTarget, 2,
15202/* 29466*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15203 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15204 // Src: (ld:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 11
15205 // Dst: (LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15206/* 29475*/ /*Scope*/ 23, /*->29499*/
15207/* 29476*/ OPC_CheckPredicate, 12, // Predicate_sextload
15208/* 29478*/ OPC_CheckPredicate, 2, // Predicate_sextloadi16
15209/* 29480*/ OPC_CheckType, MVT::i64,
15210/* 29482*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15211/* 29484*/ OPC_EmitMergeInputChains1_0,
15212/* 29485*/ OPC_EmitInteger, MVT::i32, 0,
15213/* 29488*/ OPC_EmitConvertToTarget, 2,
15214/* 29490*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15215 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15216 // Src: (ld:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 11
15217 // Dst: (LOAD16_S_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15218/* 29499*/ /*Scope*/ 23, /*->29523*/
15219/* 29500*/ OPC_CheckPredicate, 13, // Predicate_zextload
15220/* 29502*/ OPC_CheckPredicate, 2, // Predicate_zextloadi16
15221/* 29504*/ OPC_CheckType, MVT::i64,
15222/* 29506*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15223/* 29508*/ OPC_EmitMergeInputChains1_0,
15224/* 29509*/ OPC_EmitInteger, MVT::i32, 0,
15225/* 29512*/ OPC_EmitConvertToTarget, 2,
15226/* 29514*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15227 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15228 // Src: (ld:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 11
15229 // Dst: (LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15230/* 29523*/ /*Scope*/ 23, /*->29547*/
15231/* 29524*/ OPC_CheckPredicate, 12, // Predicate_sextload
15232/* 29526*/ OPC_CheckPredicate, 6, // Predicate_sextloadi32
15233/* 29528*/ OPC_CheckType, MVT::i64,
15234/* 29530*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15235/* 29532*/ OPC_EmitMergeInputChains1_0,
15236/* 29533*/ OPC_EmitInteger, MVT::i32, 0,
15237/* 29536*/ OPC_EmitConvertToTarget, 2,
15238/* 29538*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15239 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15240 // Src: (ld:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 11
15241 // Dst: (LOAD32_S_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15242/* 29547*/ /*Scope*/ 23, /*->29571*/
15243/* 29548*/ OPC_CheckPredicate, 13, // Predicate_zextload
15244/* 29550*/ OPC_CheckPredicate, 6, // Predicate_zextloadi32
15245/* 29552*/ OPC_CheckType, MVT::i64,
15246/* 29554*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15247/* 29556*/ OPC_EmitMergeInputChains1_0,
15248/* 29557*/ OPC_EmitInteger, MVT::i32, 0,
15249/* 29560*/ OPC_EmitConvertToTarget, 2,
15250/* 29562*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15251 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15252 // Src: (ld:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 11
15253 // Dst: (LOAD32_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15254/* 29571*/ /*Scope*/ 112, /*->29684*/
15255/* 29572*/ OPC_CheckPredicate, 14, // Predicate_extload
15256/* 29574*/ OPC_SwitchType /*2 cases */, 42, MVT::i32,// ->29619
15257/* 29577*/ OPC_Scope, 19, /*->29598*/ // 2 children in Scope
15258/* 29579*/ OPC_CheckPredicate, 1, // Predicate_extloadi8
15259/* 29581*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15260/* 29583*/ OPC_EmitMergeInputChains1_0,
15261/* 29584*/ OPC_EmitInteger, MVT::i32, 0,
15262/* 29587*/ OPC_EmitConvertToTarget, 2,
15263/* 29589*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15264 MVT::i32, 3/*#Ops*/, 3, 4, 1,
15265 // Src: (ld:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 11
15266 // Dst: (LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15267/* 29598*/ /*Scope*/ 19, /*->29618*/
15268/* 29599*/ OPC_CheckPredicate, 2, // Predicate_extloadi16
15269/* 29601*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15270/* 29603*/ OPC_EmitMergeInputChains1_0,
15271/* 29604*/ OPC_EmitInteger, MVT::i32, 0,
15272/* 29607*/ OPC_EmitConvertToTarget, 2,
15273/* 29609*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15274 MVT::i32, 3/*#Ops*/, 3, 4, 1,
15275 // Src: (ld:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 11
15276 // Dst: (LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15277/* 29618*/ 0, /*End of Scope*/
15278/* 29619*/ /*SwitchType*/ 62, MVT::i64,// ->29683
15279/* 29621*/ OPC_Scope, 19, /*->29642*/ // 3 children in Scope
15280/* 29623*/ OPC_CheckPredicate, 1, // Predicate_extloadi8
15281/* 29625*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15282/* 29627*/ OPC_EmitMergeInputChains1_0,
15283/* 29628*/ OPC_EmitInteger, MVT::i32, 0,
15284/* 29631*/ OPC_EmitConvertToTarget, 2,
15285/* 29633*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15286 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15287 // Src: (ld:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 11
15288 // Dst: (LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15289/* 29642*/ /*Scope*/ 19, /*->29662*/
15290/* 29643*/ OPC_CheckPredicate, 2, // Predicate_extloadi16
15291/* 29645*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15292/* 29647*/ OPC_EmitMergeInputChains1_0,
15293/* 29648*/ OPC_EmitInteger, MVT::i32, 0,
15294/* 29651*/ OPC_EmitConvertToTarget, 2,
15295/* 29653*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15296 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15297 // Src: (ld:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 11
15298 // Dst: (LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15299/* 29662*/ /*Scope*/ 19, /*->29682*/
15300/* 29663*/ OPC_CheckPredicate, 6, // Predicate_extloadi32
15301/* 29665*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15302/* 29667*/ OPC_EmitMergeInputChains1_0,
15303/* 29668*/ OPC_EmitInteger, MVT::i32, 0,
15304/* 29671*/ OPC_EmitConvertToTarget, 2,
15305/* 29673*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15306 MVT::i64, 3/*#Ops*/, 3, 4, 1,
15307 // Src: (ld:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 11
15308 // Dst: (LOAD32_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
15309/* 29682*/ 0, /*End of Scope*/
15310/* 29683*/ 0, // EndSwitchType
15311/* 29684*/ 0, /*End of Scope*/
15312/* 29685*/ 0, // EndSwitchType
15313/* 29686*/ /*SwitchOpcode*/ 14|128,8/*1038*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->30728
15314/* 29690*/ OPC_RecordChild0, // #1 = $off
15315/* 29691*/ OPC_MoveChild0,
15316/* 29692*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
15317/* 29695*/ OPC_MoveParent,
15318/* 29696*/ OPC_MoveParent,
15319/* 29697*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
15320/* 29699*/ OPC_Scope, 116, /*->29817*/ // 12 children in Scope
15321/* 29701*/ OPC_CheckPredicate, 11, // Predicate_load
15322/* 29703*/ OPC_SwitchType /*2 cases */, 54, MVT::i32,// ->29760
15323/* 29706*/ OPC_Scope, 25, /*->29733*/ // 2 children in Scope
15324/* 29708*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15325/* 29710*/ OPC_EmitMergeInputChains1_0,
15326/* 29711*/ OPC_EmitInteger, MVT::i32, 0,
15327/* 29714*/ OPC_EmitInteger, MVT::i32, 0,
15328/* 29717*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15329 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15330/* 29724*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
15331 MVT::i32, 3/*#Ops*/, 2, 1, 4,
15332 // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
15333 // Dst: (LOAD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15334/* 29733*/ /*Scope*/ 25, /*->29759*/
15335/* 29734*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15336/* 29736*/ OPC_EmitMergeInputChains1_0,
15337/* 29737*/ OPC_EmitInteger, MVT::i32, 0,
15338/* 29740*/ OPC_EmitInteger, MVT::i64, 0,
15339/* 29743*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15340 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15341/* 29750*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15342 MVT::i32, 3/*#Ops*/, 2, 1, 4,
15343 // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
15344 // Dst: (LOAD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15345/* 29759*/ 0, /*End of Scope*/
15346/* 29760*/ /*SwitchType*/ 54, MVT::i64,// ->29816
15347/* 29762*/ OPC_Scope, 25, /*->29789*/ // 2 children in Scope
15348/* 29764*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15349/* 29766*/ OPC_EmitMergeInputChains1_0,
15350/* 29767*/ OPC_EmitInteger, MVT::i32, 0,
15351/* 29770*/ OPC_EmitInteger, MVT::i32, 0,
15352/* 29773*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15353 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15354/* 29780*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15355 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15356 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
15357 // Dst: (LOAD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15358/* 29789*/ /*Scope*/ 25, /*->29815*/
15359/* 29790*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15360/* 29792*/ OPC_EmitMergeInputChains1_0,
15361/* 29793*/ OPC_EmitInteger, MVT::i32, 0,
15362/* 29796*/ OPC_EmitInteger, MVT::i64, 0,
15363/* 29799*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15364 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15365/* 29806*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15366 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15367 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
15368 // Dst: (LOAD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15369/* 29815*/ 0, /*End of Scope*/
15370/* 29816*/ 0, // EndSwitchType
15371/* 29817*/ /*Scope*/ 60, /*->29878*/
15372/* 29818*/ OPC_CheckPredicate, 12, // Predicate_sextload
15373/* 29820*/ OPC_CheckPredicate, 1, // Predicate_sextloadi8
15374/* 29822*/ OPC_CheckType, MVT::i32,
15375/* 29824*/ OPC_Scope, 25, /*->29851*/ // 2 children in Scope
15376/* 29826*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15377/* 29828*/ OPC_EmitMergeInputChains1_0,
15378/* 29829*/ OPC_EmitInteger, MVT::i32, 0,
15379/* 29832*/ OPC_EmitInteger, MVT::i32, 0,
15380/* 29835*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15381 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15382/* 29842*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
15383 MVT::i32, 3/*#Ops*/, 2, 1, 4,
15384 // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 10
15385 // Dst: (LOAD8_S_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15386/* 29851*/ /*Scope*/ 25, /*->29877*/
15387/* 29852*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15388/* 29854*/ OPC_EmitMergeInputChains1_0,
15389/* 29855*/ OPC_EmitInteger, MVT::i32, 0,
15390/* 29858*/ OPC_EmitInteger, MVT::i64, 0,
15391/* 29861*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15392 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15393/* 29868*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15394 MVT::i32, 3/*#Ops*/, 2, 1, 4,
15395 // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 10
15396 // Dst: (LOAD8_S_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15397/* 29877*/ 0, /*End of Scope*/
15398/* 29878*/ /*Scope*/ 60, /*->29939*/
15399/* 29879*/ OPC_CheckPredicate, 13, // Predicate_zextload
15400/* 29881*/ OPC_CheckPredicate, 1, // Predicate_zextloadi8
15401/* 29883*/ OPC_CheckType, MVT::i32,
15402/* 29885*/ OPC_Scope, 25, /*->29912*/ // 2 children in Scope
15403/* 29887*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15404/* 29889*/ OPC_EmitMergeInputChains1_0,
15405/* 29890*/ OPC_EmitInteger, MVT::i32, 0,
15406/* 29893*/ OPC_EmitInteger, MVT::i32, 0,
15407/* 29896*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15408 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15409/* 29903*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
15410 MVT::i32, 3/*#Ops*/, 2, 1, 4,
15411 // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 10
15412 // Dst: (LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15413/* 29912*/ /*Scope*/ 25, /*->29938*/
15414/* 29913*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15415/* 29915*/ OPC_EmitMergeInputChains1_0,
15416/* 29916*/ OPC_EmitInteger, MVT::i32, 0,
15417/* 29919*/ OPC_EmitInteger, MVT::i64, 0,
15418/* 29922*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15419 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15420/* 29929*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15421 MVT::i32, 3/*#Ops*/, 2, 1, 4,
15422 // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 10
15423 // Dst: (LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15424/* 29938*/ 0, /*End of Scope*/
15425/* 29939*/ /*Scope*/ 60, /*->30000*/
15426/* 29940*/ OPC_CheckPredicate, 12, // Predicate_sextload
15427/* 29942*/ OPC_CheckPredicate, 2, // Predicate_sextloadi16
15428/* 29944*/ OPC_CheckType, MVT::i32,
15429/* 29946*/ OPC_Scope, 25, /*->29973*/ // 2 children in Scope
15430/* 29948*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15431/* 29950*/ OPC_EmitMergeInputChains1_0,
15432/* 29951*/ OPC_EmitInteger, MVT::i32, 0,
15433/* 29954*/ OPC_EmitInteger, MVT::i32, 0,
15434/* 29957*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15435 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15436/* 29964*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
15437 MVT::i32, 3/*#Ops*/, 2, 1, 4,
15438 // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 10
15439 // Dst: (LOAD16_S_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15440/* 29973*/ /*Scope*/ 25, /*->29999*/
15441/* 29974*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15442/* 29976*/ OPC_EmitMergeInputChains1_0,
15443/* 29977*/ OPC_EmitInteger, MVT::i32, 0,
15444/* 29980*/ OPC_EmitInteger, MVT::i64, 0,
15445/* 29983*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15446 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15447/* 29990*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15448 MVT::i32, 3/*#Ops*/, 2, 1, 4,
15449 // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 10
15450 // Dst: (LOAD16_S_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15451/* 29999*/ 0, /*End of Scope*/
15452/* 30000*/ /*Scope*/ 60, /*->30061*/
15453/* 30001*/ OPC_CheckPredicate, 13, // Predicate_zextload
15454/* 30003*/ OPC_CheckPredicate, 2, // Predicate_zextloadi16
15455/* 30005*/ OPC_CheckType, MVT::i32,
15456/* 30007*/ OPC_Scope, 25, /*->30034*/ // 2 children in Scope
15457/* 30009*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15458/* 30011*/ OPC_EmitMergeInputChains1_0,
15459/* 30012*/ OPC_EmitInteger, MVT::i32, 0,
15460/* 30015*/ OPC_EmitInteger, MVT::i32, 0,
15461/* 30018*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15462 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15463/* 30025*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
15464 MVT::i32, 3/*#Ops*/, 2, 1, 4,
15465 // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 10
15466 // Dst: (LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15467/* 30034*/ /*Scope*/ 25, /*->30060*/
15468/* 30035*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15469/* 30037*/ OPC_EmitMergeInputChains1_0,
15470/* 30038*/ OPC_EmitInteger, MVT::i32, 0,
15471/* 30041*/ OPC_EmitInteger, MVT::i64, 0,
15472/* 30044*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15473 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15474/* 30051*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15475 MVT::i32, 3/*#Ops*/, 2, 1, 4,
15476 // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 10
15477 // Dst: (LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15478/* 30060*/ 0, /*End of Scope*/
15479/* 30061*/ /*Scope*/ 60, /*->30122*/
15480/* 30062*/ OPC_CheckPredicate, 12, // Predicate_sextload
15481/* 30064*/ OPC_CheckPredicate, 1, // Predicate_sextloadi8
15482/* 30066*/ OPC_CheckType, MVT::i64,
15483/* 30068*/ OPC_Scope, 25, /*->30095*/ // 2 children in Scope
15484/* 30070*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15485/* 30072*/ OPC_EmitMergeInputChains1_0,
15486/* 30073*/ OPC_EmitInteger, MVT::i32, 0,
15487/* 30076*/ OPC_EmitInteger, MVT::i32, 0,
15488/* 30079*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15489 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15490/* 30086*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15491 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15492 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 10
15493 // Dst: (LOAD8_S_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15494/* 30095*/ /*Scope*/ 25, /*->30121*/
15495/* 30096*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15496/* 30098*/ OPC_EmitMergeInputChains1_0,
15497/* 30099*/ OPC_EmitInteger, MVT::i32, 0,
15498/* 30102*/ OPC_EmitInteger, MVT::i64, 0,
15499/* 30105*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15500 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15501/* 30112*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15502 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15503 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 10
15504 // Dst: (LOAD8_S_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15505/* 30121*/ 0, /*End of Scope*/
15506/* 30122*/ /*Scope*/ 60, /*->30183*/
15507/* 30123*/ OPC_CheckPredicate, 13, // Predicate_zextload
15508/* 30125*/ OPC_CheckPredicate, 1, // Predicate_zextloadi8
15509/* 30127*/ OPC_CheckType, MVT::i64,
15510/* 30129*/ OPC_Scope, 25, /*->30156*/ // 2 children in Scope
15511/* 30131*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15512/* 30133*/ OPC_EmitMergeInputChains1_0,
15513/* 30134*/ OPC_EmitInteger, MVT::i32, 0,
15514/* 30137*/ OPC_EmitInteger, MVT::i32, 0,
15515/* 30140*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15516 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15517/* 30147*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15518 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15519 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 10
15520 // Dst: (LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15521/* 30156*/ /*Scope*/ 25, /*->30182*/
15522/* 30157*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15523/* 30159*/ OPC_EmitMergeInputChains1_0,
15524/* 30160*/ OPC_EmitInteger, MVT::i32, 0,
15525/* 30163*/ OPC_EmitInteger, MVT::i64, 0,
15526/* 30166*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15527 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15528/* 30173*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15529 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15530 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 10
15531 // Dst: (LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15532/* 30182*/ 0, /*End of Scope*/
15533/* 30183*/ /*Scope*/ 60, /*->30244*/
15534/* 30184*/ OPC_CheckPredicate, 12, // Predicate_sextload
15535/* 30186*/ OPC_CheckPredicate, 2, // Predicate_sextloadi16
15536/* 30188*/ OPC_CheckType, MVT::i64,
15537/* 30190*/ OPC_Scope, 25, /*->30217*/ // 2 children in Scope
15538/* 30192*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15539/* 30194*/ OPC_EmitMergeInputChains1_0,
15540/* 30195*/ OPC_EmitInteger, MVT::i32, 0,
15541/* 30198*/ OPC_EmitInteger, MVT::i32, 0,
15542/* 30201*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15543 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15544/* 30208*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15545 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15546 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 10
15547 // Dst: (LOAD16_S_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15548/* 30217*/ /*Scope*/ 25, /*->30243*/
15549/* 30218*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15550/* 30220*/ OPC_EmitMergeInputChains1_0,
15551/* 30221*/ OPC_EmitInteger, MVT::i32, 0,
15552/* 30224*/ OPC_EmitInteger, MVT::i64, 0,
15553/* 30227*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15554 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15555/* 30234*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15556 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15557 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 10
15558 // Dst: (LOAD16_S_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15559/* 30243*/ 0, /*End of Scope*/
15560/* 30244*/ /*Scope*/ 60, /*->30305*/
15561/* 30245*/ OPC_CheckPredicate, 13, // Predicate_zextload
15562/* 30247*/ OPC_CheckPredicate, 2, // Predicate_zextloadi16
15563/* 30249*/ OPC_CheckType, MVT::i64,
15564/* 30251*/ OPC_Scope, 25, /*->30278*/ // 2 children in Scope
15565/* 30253*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15566/* 30255*/ OPC_EmitMergeInputChains1_0,
15567/* 30256*/ OPC_EmitInteger, MVT::i32, 0,
15568/* 30259*/ OPC_EmitInteger, MVT::i32, 0,
15569/* 30262*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15570 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15571/* 30269*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15572 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15573 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 10
15574 // Dst: (LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15575/* 30278*/ /*Scope*/ 25, /*->30304*/
15576/* 30279*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15577/* 30281*/ OPC_EmitMergeInputChains1_0,
15578/* 30282*/ OPC_EmitInteger, MVT::i32, 0,
15579/* 30285*/ OPC_EmitInteger, MVT::i64, 0,
15580/* 30288*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15581 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15582/* 30295*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15583 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15584 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 10
15585 // Dst: (LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15586/* 30304*/ 0, /*End of Scope*/
15587/* 30305*/ /*Scope*/ 60, /*->30366*/
15588/* 30306*/ OPC_CheckPredicate, 12, // Predicate_sextload
15589/* 30308*/ OPC_CheckPredicate, 6, // Predicate_sextloadi32
15590/* 30310*/ OPC_CheckType, MVT::i64,
15591/* 30312*/ OPC_Scope, 25, /*->30339*/ // 2 children in Scope
15592/* 30314*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15593/* 30316*/ OPC_EmitMergeInputChains1_0,
15594/* 30317*/ OPC_EmitInteger, MVT::i32, 0,
15595/* 30320*/ OPC_EmitInteger, MVT::i32, 0,
15596/* 30323*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15597 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15598/* 30330*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15599 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15600 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 10
15601 // Dst: (LOAD32_S_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15602/* 30339*/ /*Scope*/ 25, /*->30365*/
15603/* 30340*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15604/* 30342*/ OPC_EmitMergeInputChains1_0,
15605/* 30343*/ OPC_EmitInteger, MVT::i32, 0,
15606/* 30346*/ OPC_EmitInteger, MVT::i64, 0,
15607/* 30349*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15608 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15609/* 30356*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15610 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15611 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 10
15612 // Dst: (LOAD32_S_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15613/* 30365*/ 0, /*End of Scope*/
15614/* 30366*/ /*Scope*/ 60, /*->30427*/
15615/* 30367*/ OPC_CheckPredicate, 13, // Predicate_zextload
15616/* 30369*/ OPC_CheckPredicate, 6, // Predicate_zextloadi32
15617/* 30371*/ OPC_CheckType, MVT::i64,
15618/* 30373*/ OPC_Scope, 25, /*->30400*/ // 2 children in Scope
15619/* 30375*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15620/* 30377*/ OPC_EmitMergeInputChains1_0,
15621/* 30378*/ OPC_EmitInteger, MVT::i32, 0,
15622/* 30381*/ OPC_EmitInteger, MVT::i32, 0,
15623/* 30384*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15624 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15625/* 30391*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15626 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15627 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 10
15628 // Dst: (LOAD32_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15629/* 30400*/ /*Scope*/ 25, /*->30426*/
15630/* 30401*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15631/* 30403*/ OPC_EmitMergeInputChains1_0,
15632/* 30404*/ OPC_EmitInteger, MVT::i32, 0,
15633/* 30407*/ OPC_EmitInteger, MVT::i64, 0,
15634/* 30410*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15635 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15636/* 30417*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15637 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15638 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 10
15639 // Dst: (LOAD32_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15640/* 30426*/ 0, /*End of Scope*/
15641/* 30427*/ /*Scope*/ 42|128,2/*298*/, /*->30727*/
15642/* 30429*/ OPC_CheckPredicate, 14, // Predicate_extload
15643/* 30431*/ OPC_SwitchType /*2 cases */, 116, MVT::i32,// ->30550
15644/* 30434*/ OPC_Scope, 56, /*->30492*/ // 2 children in Scope
15645/* 30436*/ OPC_CheckPredicate, 1, // Predicate_extloadi8
15646/* 30438*/ OPC_Scope, 25, /*->30465*/ // 2 children in Scope
15647/* 30440*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15648/* 30442*/ OPC_EmitMergeInputChains1_0,
15649/* 30443*/ OPC_EmitInteger, MVT::i32, 0,
15650/* 30446*/ OPC_EmitInteger, MVT::i32, 0,
15651/* 30449*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15652 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15653/* 30456*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
15654 MVT::i32, 3/*#Ops*/, 2, 1, 4,
15655 // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 10
15656 // Dst: (LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15657/* 30465*/ /*Scope*/ 25, /*->30491*/
15658/* 30466*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15659/* 30468*/ OPC_EmitMergeInputChains1_0,
15660/* 30469*/ OPC_EmitInteger, MVT::i32, 0,
15661/* 30472*/ OPC_EmitInteger, MVT::i64, 0,
15662/* 30475*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15663 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15664/* 30482*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15665 MVT::i32, 3/*#Ops*/, 2, 1, 4,
15666 // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 10
15667 // Dst: (LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15668/* 30491*/ 0, /*End of Scope*/
15669/* 30492*/ /*Scope*/ 56, /*->30549*/
15670/* 30493*/ OPC_CheckPredicate, 2, // Predicate_extloadi16
15671/* 30495*/ OPC_Scope, 25, /*->30522*/ // 2 children in Scope
15672/* 30497*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15673/* 30499*/ OPC_EmitMergeInputChains1_0,
15674/* 30500*/ OPC_EmitInteger, MVT::i32, 0,
15675/* 30503*/ OPC_EmitInteger, MVT::i32, 0,
15676/* 30506*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15677 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15678/* 30513*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
15679 MVT::i32, 3/*#Ops*/, 2, 1, 4,
15680 // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 10
15681 // Dst: (LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15682/* 30522*/ /*Scope*/ 25, /*->30548*/
15683/* 30523*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15684/* 30525*/ OPC_EmitMergeInputChains1_0,
15685/* 30526*/ OPC_EmitInteger, MVT::i32, 0,
15686/* 30529*/ OPC_EmitInteger, MVT::i64, 0,
15687/* 30532*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15688 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15689/* 30539*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15690 MVT::i32, 3/*#Ops*/, 2, 1, 4,
15691 // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 10
15692 // Dst: (LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15693/* 30548*/ 0, /*End of Scope*/
15694/* 30549*/ 0, /*End of Scope*/
15695/* 30550*/ /*SwitchType*/ 45|128,1/*173*/, MVT::i64,// ->30726
15696/* 30553*/ OPC_Scope, 56, /*->30611*/ // 3 children in Scope
15697/* 30555*/ OPC_CheckPredicate, 1, // Predicate_extloadi8
15698/* 30557*/ OPC_Scope, 25, /*->30584*/ // 2 children in Scope
15699/* 30559*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15700/* 30561*/ OPC_EmitMergeInputChains1_0,
15701/* 30562*/ OPC_EmitInteger, MVT::i32, 0,
15702/* 30565*/ OPC_EmitInteger, MVT::i32, 0,
15703/* 30568*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15704 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15705/* 30575*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15706 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15707 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 10
15708 // Dst: (LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15709/* 30584*/ /*Scope*/ 25, /*->30610*/
15710/* 30585*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15711/* 30587*/ OPC_EmitMergeInputChains1_0,
15712/* 30588*/ OPC_EmitInteger, MVT::i32, 0,
15713/* 30591*/ OPC_EmitInteger, MVT::i64, 0,
15714/* 30594*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15715 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15716/* 30601*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15717 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15718 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 10
15719 // Dst: (LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15720/* 30610*/ 0, /*End of Scope*/
15721/* 30611*/ /*Scope*/ 56, /*->30668*/
15722/* 30612*/ OPC_CheckPredicate, 2, // Predicate_extloadi16
15723/* 30614*/ OPC_Scope, 25, /*->30641*/ // 2 children in Scope
15724/* 30616*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15725/* 30618*/ OPC_EmitMergeInputChains1_0,
15726/* 30619*/ OPC_EmitInteger, MVT::i32, 0,
15727/* 30622*/ OPC_EmitInteger, MVT::i32, 0,
15728/* 30625*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15729 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15730/* 30632*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15731 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15732 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 10
15733 // Dst: (LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15734/* 30641*/ /*Scope*/ 25, /*->30667*/
15735/* 30642*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15736/* 30644*/ OPC_EmitMergeInputChains1_0,
15737/* 30645*/ OPC_EmitInteger, MVT::i32, 0,
15738/* 30648*/ OPC_EmitInteger, MVT::i64, 0,
15739/* 30651*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15740 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15741/* 30658*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15742 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15743 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 10
15744 // Dst: (LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15745/* 30667*/ 0, /*End of Scope*/
15746/* 30668*/ /*Scope*/ 56, /*->30725*/
15747/* 30669*/ OPC_CheckPredicate, 6, // Predicate_extloadi32
15748/* 30671*/ OPC_Scope, 25, /*->30698*/ // 2 children in Scope
15749/* 30673*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15750/* 30675*/ OPC_EmitMergeInputChains1_0,
15751/* 30676*/ OPC_EmitInteger, MVT::i32, 0,
15752/* 30679*/ OPC_EmitInteger, MVT::i32, 0,
15753/* 30682*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15754 MVT::i32, 1/*#Ops*/, 3, // Results = #4
15755/* 30689*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15756 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15757 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 10
15758 // Dst: (LOAD32_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15759/* 30698*/ /*Scope*/ 25, /*->30724*/
15760/* 30699*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
15761/* 30701*/ OPC_EmitMergeInputChains1_0,
15762/* 30702*/ OPC_EmitInteger, MVT::i32, 0,
15763/* 30705*/ OPC_EmitInteger, MVT::i64, 0,
15764/* 30708*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15765 MVT::i64, 1/*#Ops*/, 3, // Results = #4
15766/* 30715*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15767 MVT::i64, 3/*#Ops*/, 2, 1, 4,
15768 // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 10
15769 // Dst: (LOAD32_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15770/* 30724*/ 0, /*End of Scope*/
15771/* 30725*/ 0, /*End of Scope*/
15772/* 30726*/ 0, // EndSwitchType
15773/* 30727*/ 0, /*End of Scope*/
15774/* 30728*/ 0, // EndSwitchOpcode
15775/* 30729*/ /*Scope*/ 31|128,15/*1951*/, /*->32682*/
15776/* 30731*/ OPC_RecordChild1, // #1 = $off
15777/* 30732*/ OPC_Scope, 80|128,8/*1104*/, /*->31839*/ // 3 children in Scope
15778/* 30735*/ OPC_MoveChild1,
15779/* 30736*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15780/* 30739*/ OPC_MoveParent,
15781/* 30740*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
15782/* 30742*/ OPC_Scope, 124, /*->30868*/ // 12 children in Scope
15783/* 30744*/ OPC_CheckPredicate, 11, // Predicate_load
15784/* 30746*/ OPC_SwitchType /*2 cases */, 58, MVT::i32,// ->30807
15785/* 30749*/ OPC_Scope, 27, /*->30778*/ // 2 children in Scope
15786/* 30751*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15787/* 30753*/ OPC_EmitMergeInputChains1_0,
15788/* 30754*/ OPC_EmitInteger, MVT::i32, 0,
15789/* 30757*/ OPC_EmitConvertToTarget, 1,
15790/* 30759*/ OPC_EmitInteger, MVT::i32, 0,
15791/* 30762*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15792 MVT::i32, 1/*#Ops*/, 4, // Results = #5
15793/* 30769*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
15794 MVT::i32, 3/*#Ops*/, 2, 3, 5,
15795 // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
15796 // Dst: (LOAD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15797/* 30778*/ /*Scope*/ 27, /*->30806*/
15798/* 30779*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15799/* 30781*/ OPC_EmitMergeInputChains1_0,
15800/* 30782*/ OPC_EmitInteger, MVT::i32, 0,
15801/* 30785*/ OPC_EmitConvertToTarget, 1,
15802/* 30787*/ OPC_EmitInteger, MVT::i64, 0,
15803/* 30790*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15804 MVT::i64, 1/*#Ops*/, 4, // Results = #5
15805/* 30797*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15806 MVT::i32, 3/*#Ops*/, 2, 3, 5,
15807 // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
15808 // Dst: (LOAD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15809/* 30806*/ 0, /*End of Scope*/
15810/* 30807*/ /*SwitchType*/ 58, MVT::i64,// ->30867
15811/* 30809*/ OPC_Scope, 27, /*->30838*/ // 2 children in Scope
15812/* 30811*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15813/* 30813*/ OPC_EmitMergeInputChains1_0,
15814/* 30814*/ OPC_EmitInteger, MVT::i32, 0,
15815/* 30817*/ OPC_EmitConvertToTarget, 1,
15816/* 30819*/ OPC_EmitInteger, MVT::i32, 0,
15817/* 30822*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15818 MVT::i32, 1/*#Ops*/, 4, // Results = #5
15819/* 30829*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15820 MVT::i64, 3/*#Ops*/, 2, 3, 5,
15821 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
15822 // Dst: (LOAD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15823/* 30838*/ /*Scope*/ 27, /*->30866*/
15824/* 30839*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15825/* 30841*/ OPC_EmitMergeInputChains1_0,
15826/* 30842*/ OPC_EmitInteger, MVT::i32, 0,
15827/* 30845*/ OPC_EmitConvertToTarget, 1,
15828/* 30847*/ OPC_EmitInteger, MVT::i64, 0,
15829/* 30850*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15830 MVT::i64, 1/*#Ops*/, 4, // Results = #5
15831/* 30857*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15832 MVT::i64, 3/*#Ops*/, 2, 3, 5,
15833 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
15834 // Dst: (LOAD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15835/* 30866*/ 0, /*End of Scope*/
15836/* 30867*/ 0, // EndSwitchType
15837/* 30868*/ /*Scope*/ 64, /*->30933*/
15838/* 30869*/ OPC_CheckPredicate, 12, // Predicate_sextload
15839/* 30871*/ OPC_CheckPredicate, 1, // Predicate_sextloadi8
15840/* 30873*/ OPC_CheckType, MVT::i32,
15841/* 30875*/ OPC_Scope, 27, /*->30904*/ // 2 children in Scope
15842/* 30877*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15843/* 30879*/ OPC_EmitMergeInputChains1_0,
15844/* 30880*/ OPC_EmitInteger, MVT::i32, 0,
15845/* 30883*/ OPC_EmitConvertToTarget, 1,
15846/* 30885*/ OPC_EmitInteger, MVT::i32, 0,
15847/* 30888*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15848 MVT::i32, 1/*#Ops*/, 4, // Results = #5
15849/* 30895*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
15850 MVT::i32, 3/*#Ops*/, 2, 3, 5,
15851 // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 7
15852 // Dst: (LOAD8_S_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15853/* 30904*/ /*Scope*/ 27, /*->30932*/
15854/* 30905*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15855/* 30907*/ OPC_EmitMergeInputChains1_0,
15856/* 30908*/ OPC_EmitInteger, MVT::i32, 0,
15857/* 30911*/ OPC_EmitConvertToTarget, 1,
15858/* 30913*/ OPC_EmitInteger, MVT::i64, 0,
15859/* 30916*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15860 MVT::i64, 1/*#Ops*/, 4, // Results = #5
15861/* 30923*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15862 MVT::i32, 3/*#Ops*/, 2, 3, 5,
15863 // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 7
15864 // Dst: (LOAD8_S_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15865/* 30932*/ 0, /*End of Scope*/
15866/* 30933*/ /*Scope*/ 64, /*->30998*/
15867/* 30934*/ OPC_CheckPredicate, 13, // Predicate_zextload
15868/* 30936*/ OPC_CheckPredicate, 1, // Predicate_zextloadi8
15869/* 30938*/ OPC_CheckType, MVT::i32,
15870/* 30940*/ OPC_Scope, 27, /*->30969*/ // 2 children in Scope
15871/* 30942*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15872/* 30944*/ OPC_EmitMergeInputChains1_0,
15873/* 30945*/ OPC_EmitInteger, MVT::i32, 0,
15874/* 30948*/ OPC_EmitConvertToTarget, 1,
15875/* 30950*/ OPC_EmitInteger, MVT::i32, 0,
15876/* 30953*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15877 MVT::i32, 1/*#Ops*/, 4, // Results = #5
15878/* 30960*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
15879 MVT::i32, 3/*#Ops*/, 2, 3, 5,
15880 // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 7
15881 // Dst: (LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15882/* 30969*/ /*Scope*/ 27, /*->30997*/
15883/* 30970*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15884/* 30972*/ OPC_EmitMergeInputChains1_0,
15885/* 30973*/ OPC_EmitInteger, MVT::i32, 0,
15886/* 30976*/ OPC_EmitConvertToTarget, 1,
15887/* 30978*/ OPC_EmitInteger, MVT::i64, 0,
15888/* 30981*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15889 MVT::i64, 1/*#Ops*/, 4, // Results = #5
15890/* 30988*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15891 MVT::i32, 3/*#Ops*/, 2, 3, 5,
15892 // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 7
15893 // Dst: (LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15894/* 30997*/ 0, /*End of Scope*/
15895/* 30998*/ /*Scope*/ 64, /*->31063*/
15896/* 30999*/ OPC_CheckPredicate, 12, // Predicate_sextload
15897/* 31001*/ OPC_CheckPredicate, 2, // Predicate_sextloadi16
15898/* 31003*/ OPC_CheckType, MVT::i32,
15899/* 31005*/ OPC_Scope, 27, /*->31034*/ // 2 children in Scope
15900/* 31007*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15901/* 31009*/ OPC_EmitMergeInputChains1_0,
15902/* 31010*/ OPC_EmitInteger, MVT::i32, 0,
15903/* 31013*/ OPC_EmitConvertToTarget, 1,
15904/* 31015*/ OPC_EmitInteger, MVT::i32, 0,
15905/* 31018*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15906 MVT::i32, 1/*#Ops*/, 4, // Results = #5
15907/* 31025*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
15908 MVT::i32, 3/*#Ops*/, 2, 3, 5,
15909 // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 7
15910 // Dst: (LOAD16_S_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15911/* 31034*/ /*Scope*/ 27, /*->31062*/
15912/* 31035*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15913/* 31037*/ OPC_EmitMergeInputChains1_0,
15914/* 31038*/ OPC_EmitInteger, MVT::i32, 0,
15915/* 31041*/ OPC_EmitConvertToTarget, 1,
15916/* 31043*/ OPC_EmitInteger, MVT::i64, 0,
15917/* 31046*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15918 MVT::i64, 1/*#Ops*/, 4, // Results = #5
15919/* 31053*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15920 MVT::i32, 3/*#Ops*/, 2, 3, 5,
15921 // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 7
15922 // Dst: (LOAD16_S_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15923/* 31062*/ 0, /*End of Scope*/
15924/* 31063*/ /*Scope*/ 64, /*->31128*/
15925/* 31064*/ OPC_CheckPredicate, 13, // Predicate_zextload
15926/* 31066*/ OPC_CheckPredicate, 2, // Predicate_zextloadi16
15927/* 31068*/ OPC_CheckType, MVT::i32,
15928/* 31070*/ OPC_Scope, 27, /*->31099*/ // 2 children in Scope
15929/* 31072*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15930/* 31074*/ OPC_EmitMergeInputChains1_0,
15931/* 31075*/ OPC_EmitInteger, MVT::i32, 0,
15932/* 31078*/ OPC_EmitConvertToTarget, 1,
15933/* 31080*/ OPC_EmitInteger, MVT::i32, 0,
15934/* 31083*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15935 MVT::i32, 1/*#Ops*/, 4, // Results = #5
15936/* 31090*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
15937 MVT::i32, 3/*#Ops*/, 2, 3, 5,
15938 // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 7
15939 // Dst: (LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15940/* 31099*/ /*Scope*/ 27, /*->31127*/
15941/* 31100*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15942/* 31102*/ OPC_EmitMergeInputChains1_0,
15943/* 31103*/ OPC_EmitInteger, MVT::i32, 0,
15944/* 31106*/ OPC_EmitConvertToTarget, 1,
15945/* 31108*/ OPC_EmitInteger, MVT::i64, 0,
15946/* 31111*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15947 MVT::i64, 1/*#Ops*/, 4, // Results = #5
15948/* 31118*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
15949 MVT::i32, 3/*#Ops*/, 2, 3, 5,
15950 // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 7
15951 // Dst: (LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15952/* 31127*/ 0, /*End of Scope*/
15953/* 31128*/ /*Scope*/ 64, /*->31193*/
15954/* 31129*/ OPC_CheckPredicate, 12, // Predicate_sextload
15955/* 31131*/ OPC_CheckPredicate, 1, // Predicate_sextloadi8
15956/* 31133*/ OPC_CheckType, MVT::i64,
15957/* 31135*/ OPC_Scope, 27, /*->31164*/ // 2 children in Scope
15958/* 31137*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15959/* 31139*/ OPC_EmitMergeInputChains1_0,
15960/* 31140*/ OPC_EmitInteger, MVT::i32, 0,
15961/* 31143*/ OPC_EmitConvertToTarget, 1,
15962/* 31145*/ OPC_EmitInteger, MVT::i32, 0,
15963/* 31148*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15964 MVT::i32, 1/*#Ops*/, 4, // Results = #5
15965/* 31155*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15966 MVT::i64, 3/*#Ops*/, 2, 3, 5,
15967 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 7
15968 // Dst: (LOAD8_S_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15969/* 31164*/ /*Scope*/ 27, /*->31192*/
15970/* 31165*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
15971/* 31167*/ OPC_EmitMergeInputChains1_0,
15972/* 31168*/ OPC_EmitInteger, MVT::i32, 0,
15973/* 31171*/ OPC_EmitConvertToTarget, 1,
15974/* 31173*/ OPC_EmitInteger, MVT::i64, 0,
15975/* 31176*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
15976 MVT::i64, 1/*#Ops*/, 4, // Results = #5
15977/* 31183*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
15978 MVT::i64, 3/*#Ops*/, 2, 3, 5,
15979 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 7
15980 // Dst: (LOAD8_S_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
15981/* 31192*/ 0, /*End of Scope*/
15982/* 31193*/ /*Scope*/ 64, /*->31258*/
15983/* 31194*/ OPC_CheckPredicate, 13, // Predicate_zextload
15984/* 31196*/ OPC_CheckPredicate, 1, // Predicate_zextloadi8
15985/* 31198*/ OPC_CheckType, MVT::i64,
15986/* 31200*/ OPC_Scope, 27, /*->31229*/ // 2 children in Scope
15987/* 31202*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
15988/* 31204*/ OPC_EmitMergeInputChains1_0,
15989/* 31205*/ OPC_EmitInteger, MVT::i32, 0,
15990/* 31208*/ OPC_EmitConvertToTarget, 1,
15991/* 31210*/ OPC_EmitInteger, MVT::i32, 0,
15992/* 31213*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15993 MVT::i32, 1/*#Ops*/, 4, // Results = #5
15994/* 31220*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
15995 MVT::i64, 3/*#Ops*/, 2, 3, 5,
15996 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 7
15997 // Dst: (LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
15998/* 31229*/ /*Scope*/ 27, /*->31257*/
15999/* 31230*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16000/* 31232*/ OPC_EmitMergeInputChains1_0,
16001/* 31233*/ OPC_EmitInteger, MVT::i32, 0,
16002/* 31236*/ OPC_EmitConvertToTarget, 1,
16003/* 31238*/ OPC_EmitInteger, MVT::i64, 0,
16004/* 31241*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
16005 MVT::i64, 1/*#Ops*/, 4, // Results = #5
16006/* 31248*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16007 MVT::i64, 3/*#Ops*/, 2, 3, 5,
16008 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 7
16009 // Dst: (LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
16010/* 31257*/ 0, /*End of Scope*/
16011/* 31258*/ /*Scope*/ 64, /*->31323*/
16012/* 31259*/ OPC_CheckPredicate, 12, // Predicate_sextload
16013/* 31261*/ OPC_CheckPredicate, 2, // Predicate_sextloadi16
16014/* 31263*/ OPC_CheckType, MVT::i64,
16015/* 31265*/ OPC_Scope, 27, /*->31294*/ // 2 children in Scope
16016/* 31267*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16017/* 31269*/ OPC_EmitMergeInputChains1_0,
16018/* 31270*/ OPC_EmitInteger, MVT::i32, 0,
16019/* 31273*/ OPC_EmitConvertToTarget, 1,
16020/* 31275*/ OPC_EmitInteger, MVT::i32, 0,
16021/* 31278*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16022 MVT::i32, 1/*#Ops*/, 4, // Results = #5
16023/* 31285*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16024 MVT::i64, 3/*#Ops*/, 2, 3, 5,
16025 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 7
16026 // Dst: (LOAD16_S_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
16027/* 31294*/ /*Scope*/ 27, /*->31322*/
16028/* 31295*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16029/* 31297*/ OPC_EmitMergeInputChains1_0,
16030/* 31298*/ OPC_EmitInteger, MVT::i32, 0,
16031/* 31301*/ OPC_EmitConvertToTarget, 1,
16032/* 31303*/ OPC_EmitInteger, MVT::i64, 0,
16033/* 31306*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
16034 MVT::i64, 1/*#Ops*/, 4, // Results = #5
16035/* 31313*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16036 MVT::i64, 3/*#Ops*/, 2, 3, 5,
16037 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 7
16038 // Dst: (LOAD16_S_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
16039/* 31322*/ 0, /*End of Scope*/
16040/* 31323*/ /*Scope*/ 64, /*->31388*/
16041/* 31324*/ OPC_CheckPredicate, 13, // Predicate_zextload
16042/* 31326*/ OPC_CheckPredicate, 2, // Predicate_zextloadi16
16043/* 31328*/ OPC_CheckType, MVT::i64,
16044/* 31330*/ OPC_Scope, 27, /*->31359*/ // 2 children in Scope
16045/* 31332*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16046/* 31334*/ OPC_EmitMergeInputChains1_0,
16047/* 31335*/ OPC_EmitInteger, MVT::i32, 0,
16048/* 31338*/ OPC_EmitConvertToTarget, 1,
16049/* 31340*/ OPC_EmitInteger, MVT::i32, 0,
16050/* 31343*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16051 MVT::i32, 1/*#Ops*/, 4, // Results = #5
16052/* 31350*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16053 MVT::i64, 3/*#Ops*/, 2, 3, 5,
16054 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 7
16055 // Dst: (LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
16056/* 31359*/ /*Scope*/ 27, /*->31387*/
16057/* 31360*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16058/* 31362*/ OPC_EmitMergeInputChains1_0,
16059/* 31363*/ OPC_EmitInteger, MVT::i32, 0,
16060/* 31366*/ OPC_EmitConvertToTarget, 1,
16061/* 31368*/ OPC_EmitInteger, MVT::i64, 0,
16062/* 31371*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
16063 MVT::i64, 1/*#Ops*/, 4, // Results = #5
16064/* 31378*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16065 MVT::i64, 3/*#Ops*/, 2, 3, 5,
16066 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 7
16067 // Dst: (LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
16068/* 31387*/ 0, /*End of Scope*/
16069/* 31388*/ /*Scope*/ 64, /*->31453*/
16070/* 31389*/ OPC_CheckPredicate, 12, // Predicate_sextload
16071/* 31391*/ OPC_CheckPredicate, 6, // Predicate_sextloadi32
16072/* 31393*/ OPC_CheckType, MVT::i64,
16073/* 31395*/ OPC_Scope, 27, /*->31424*/ // 2 children in Scope
16074/* 31397*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16075/* 31399*/ OPC_EmitMergeInputChains1_0,
16076/* 31400*/ OPC_EmitInteger, MVT::i32, 0,
16077/* 31403*/ OPC_EmitConvertToTarget, 1,
16078/* 31405*/ OPC_EmitInteger, MVT::i32, 0,
16079/* 31408*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16080 MVT::i32, 1/*#Ops*/, 4, // Results = #5
16081/* 31415*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16082 MVT::i64, 3/*#Ops*/, 2, 3, 5,
16083 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 7
16084 // Dst: (LOAD32_S_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
16085/* 31424*/ /*Scope*/ 27, /*->31452*/
16086/* 31425*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16087/* 31427*/ OPC_EmitMergeInputChains1_0,
16088/* 31428*/ OPC_EmitInteger, MVT::i32, 0,
16089/* 31431*/ OPC_EmitConvertToTarget, 1,
16090/* 31433*/ OPC_EmitInteger, MVT::i64, 0,
16091/* 31436*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
16092 MVT::i64, 1/*#Ops*/, 4, // Results = #5
16093/* 31443*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16094 MVT::i64, 3/*#Ops*/, 2, 3, 5,
16095 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 7
16096 // Dst: (LOAD32_S_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
16097/* 31452*/ 0, /*End of Scope*/
16098/* 31453*/ /*Scope*/ 64, /*->31518*/
16099/* 31454*/ OPC_CheckPredicate, 13, // Predicate_zextload
16100/* 31456*/ OPC_CheckPredicate, 6, // Predicate_zextloadi32
16101/* 31458*/ OPC_CheckType, MVT::i64,
16102/* 31460*/ OPC_Scope, 27, /*->31489*/ // 2 children in Scope
16103/* 31462*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16104/* 31464*/ OPC_EmitMergeInputChains1_0,
16105/* 31465*/ OPC_EmitInteger, MVT::i32, 0,
16106/* 31468*/ OPC_EmitConvertToTarget, 1,
16107/* 31470*/ OPC_EmitInteger, MVT::i32, 0,
16108/* 31473*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16109 MVT::i32, 1/*#Ops*/, 4, // Results = #5
16110/* 31480*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16111 MVT::i64, 3/*#Ops*/, 2, 3, 5,
16112 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 7
16113 // Dst: (LOAD32_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
16114/* 31489*/ /*Scope*/ 27, /*->31517*/
16115/* 31490*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16116/* 31492*/ OPC_EmitMergeInputChains1_0,
16117/* 31493*/ OPC_EmitInteger, MVT::i32, 0,
16118/* 31496*/ OPC_EmitConvertToTarget, 1,
16119/* 31498*/ OPC_EmitInteger, MVT::i64, 0,
16120/* 31501*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
16121 MVT::i64, 1/*#Ops*/, 4, // Results = #5
16122/* 31508*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16123 MVT::i64, 3/*#Ops*/, 2, 3, 5,
16124 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 7
16125 // Dst: (LOAD32_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
16126/* 31517*/ 0, /*End of Scope*/
16127/* 31518*/ /*Scope*/ 62|128,2/*318*/, /*->31838*/
16128/* 31520*/ OPC_CheckPredicate, 14, // Predicate_extload
16129/* 31522*/ OPC_SwitchType /*2 cases */, 124, MVT::i32,// ->31649
16130/* 31525*/ OPC_Scope, 60, /*->31587*/ // 2 children in Scope
16131/* 31527*/ OPC_CheckPredicate, 1, // Predicate_extloadi8
16132/* 31529*/ OPC_Scope, 27, /*->31558*/ // 2 children in Scope
16133/* 31531*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16134/* 31533*/ OPC_EmitMergeInputChains1_0,
16135/* 31534*/ OPC_EmitInteger, MVT::i32, 0,
16136/* 31537*/ OPC_EmitConvertToTarget, 1,
16137/* 31539*/ OPC_EmitInteger, MVT::i32, 0,
16138/* 31542*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16139 MVT::i32, 1/*#Ops*/, 4, // Results = #5
16140/* 31549*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
16141 MVT::i32, 3/*#Ops*/, 2, 3, 5,
16142 // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 7
16143 // Dst: (LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
16144/* 31558*/ /*Scope*/ 27, /*->31586*/
16145/* 31559*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16146/* 31561*/ OPC_EmitMergeInputChains1_0,
16147/* 31562*/ OPC_EmitInteger, MVT::i32, 0,
16148/* 31565*/ OPC_EmitConvertToTarget, 1,
16149/* 31567*/ OPC_EmitInteger, MVT::i64, 0,
16150/* 31570*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
16151 MVT::i64, 1/*#Ops*/, 4, // Results = #5
16152/* 31577*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
16153 MVT::i32, 3/*#Ops*/, 2, 3, 5,
16154 // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 7
16155 // Dst: (LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
16156/* 31586*/ 0, /*End of Scope*/
16157/* 31587*/ /*Scope*/ 60, /*->31648*/
16158/* 31588*/ OPC_CheckPredicate, 2, // Predicate_extloadi16
16159/* 31590*/ OPC_Scope, 27, /*->31619*/ // 2 children in Scope
16160/* 31592*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16161/* 31594*/ OPC_EmitMergeInputChains1_0,
16162/* 31595*/ OPC_EmitInteger, MVT::i32, 0,
16163/* 31598*/ OPC_EmitConvertToTarget, 1,
16164/* 31600*/ OPC_EmitInteger, MVT::i32, 0,
16165/* 31603*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16166 MVT::i32, 1/*#Ops*/, 4, // Results = #5
16167/* 31610*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
16168 MVT::i32, 3/*#Ops*/, 2, 3, 5,
16169 // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 7
16170 // Dst: (LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
16171/* 31619*/ /*Scope*/ 27, /*->31647*/
16172/* 31620*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16173/* 31622*/ OPC_EmitMergeInputChains1_0,
16174/* 31623*/ OPC_EmitInteger, MVT::i32, 0,
16175/* 31626*/ OPC_EmitConvertToTarget, 1,
16176/* 31628*/ OPC_EmitInteger, MVT::i64, 0,
16177/* 31631*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
16178 MVT::i64, 1/*#Ops*/, 4, // Results = #5
16179/* 31638*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
16180 MVT::i32, 3/*#Ops*/, 2, 3, 5,
16181 // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 7
16182 // Dst: (LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
16183/* 31647*/ 0, /*End of Scope*/
16184/* 31648*/ 0, /*End of Scope*/
16185/* 31649*/ /*SwitchType*/ 57|128,1/*185*/, MVT::i64,// ->31837
16186/* 31652*/ OPC_Scope, 60, /*->31714*/ // 3 children in Scope
16187/* 31654*/ OPC_CheckPredicate, 1, // Predicate_extloadi8
16188/* 31656*/ OPC_Scope, 27, /*->31685*/ // 2 children in Scope
16189/* 31658*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16190/* 31660*/ OPC_EmitMergeInputChains1_0,
16191/* 31661*/ OPC_EmitInteger, MVT::i32, 0,
16192/* 31664*/ OPC_EmitConvertToTarget, 1,
16193/* 31666*/ OPC_EmitInteger, MVT::i32, 0,
16194/* 31669*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16195 MVT::i32, 1/*#Ops*/, 4, // Results = #5
16196/* 31676*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16197 MVT::i64, 3/*#Ops*/, 2, 3, 5,
16198 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 7
16199 // Dst: (LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
16200/* 31685*/ /*Scope*/ 27, /*->31713*/
16201/* 31686*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16202/* 31688*/ OPC_EmitMergeInputChains1_0,
16203/* 31689*/ OPC_EmitInteger, MVT::i32, 0,
16204/* 31692*/ OPC_EmitConvertToTarget, 1,
16205/* 31694*/ OPC_EmitInteger, MVT::i64, 0,
16206/* 31697*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
16207 MVT::i64, 1/*#Ops*/, 4, // Results = #5
16208/* 31704*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16209 MVT::i64, 3/*#Ops*/, 2, 3, 5,
16210 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 7
16211 // Dst: (LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
16212/* 31713*/ 0, /*End of Scope*/
16213/* 31714*/ /*Scope*/ 60, /*->31775*/
16214/* 31715*/ OPC_CheckPredicate, 2, // Predicate_extloadi16
16215/* 31717*/ OPC_Scope, 27, /*->31746*/ // 2 children in Scope
16216/* 31719*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16217/* 31721*/ OPC_EmitMergeInputChains1_0,
16218/* 31722*/ OPC_EmitInteger, MVT::i32, 0,
16219/* 31725*/ OPC_EmitConvertToTarget, 1,
16220/* 31727*/ OPC_EmitInteger, MVT::i32, 0,
16221/* 31730*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16222 MVT::i32, 1/*#Ops*/, 4, // Results = #5
16223/* 31737*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16224 MVT::i64, 3/*#Ops*/, 2, 3, 5,
16225 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 7
16226 // Dst: (LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
16227/* 31746*/ /*Scope*/ 27, /*->31774*/
16228/* 31747*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16229/* 31749*/ OPC_EmitMergeInputChains1_0,
16230/* 31750*/ OPC_EmitInteger, MVT::i32, 0,
16231/* 31753*/ OPC_EmitConvertToTarget, 1,
16232/* 31755*/ OPC_EmitInteger, MVT::i64, 0,
16233/* 31758*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
16234 MVT::i64, 1/*#Ops*/, 4, // Results = #5
16235/* 31765*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16236 MVT::i64, 3/*#Ops*/, 2, 3, 5,
16237 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 7
16238 // Dst: (LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
16239/* 31774*/ 0, /*End of Scope*/
16240/* 31775*/ /*Scope*/ 60, /*->31836*/
16241/* 31776*/ OPC_CheckPredicate, 6, // Predicate_extloadi32
16242/* 31778*/ OPC_Scope, 27, /*->31807*/ // 2 children in Scope
16243/* 31780*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16244/* 31782*/ OPC_EmitMergeInputChains1_0,
16245/* 31783*/ OPC_EmitInteger, MVT::i32, 0,
16246/* 31786*/ OPC_EmitConvertToTarget, 1,
16247/* 31788*/ OPC_EmitInteger, MVT::i32, 0,
16248/* 31791*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16249 MVT::i32, 1/*#Ops*/, 4, // Results = #5
16250/* 31798*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16251 MVT::i64, 3/*#Ops*/, 2, 3, 5,
16252 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 7
16253 // Dst: (LOAD32_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
16254/* 31807*/ /*Scope*/ 27, /*->31835*/
16255/* 31808*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16256/* 31810*/ OPC_EmitMergeInputChains1_0,
16257/* 31811*/ OPC_EmitInteger, MVT::i32, 0,
16258/* 31814*/ OPC_EmitConvertToTarget, 1,
16259/* 31816*/ OPC_EmitInteger, MVT::i64, 0,
16260/* 31819*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
16261 MVT::i64, 1/*#Ops*/, 4, // Results = #5
16262/* 31826*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16263 MVT::i64, 3/*#Ops*/, 2, 3, 5,
16264 // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 7
16265 // Dst: (LOAD32_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
16266/* 31835*/ 0, /*End of Scope*/
16267/* 31836*/ 0, /*End of Scope*/
16268/* 31837*/ 0, // EndSwitchType
16269/* 31838*/ 0, /*End of Scope*/
16270/* 31839*/ /*Scope*/ 35|128,3/*419*/, /*->32260*/
16271/* 31841*/ OPC_CheckChild1Type, MVT::i32,
16272/* 31843*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
16273/* 31845*/ OPC_Scope, 44, /*->31891*/ // 12 children in Scope
16274/* 31847*/ OPC_CheckPredicate, 11, // Predicate_load
16275/* 31849*/ OPC_SwitchType /*2 cases */, 18, MVT::i32,// ->31870
16276/* 31852*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16277/* 31854*/ OPC_EmitMergeInputChains1_0,
16278/* 31855*/ OPC_EmitInteger, MVT::i32, 0,
16279/* 31858*/ OPC_EmitInteger, MVT::i32, 0,
16280/* 31861*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
16281 MVT::i32, 3/*#Ops*/, 2, 3, 1,
16282 // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
16283 // Dst: (LOAD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16284/* 31870*/ /*SwitchType*/ 18, MVT::i64,// ->31890
16285/* 31872*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16286/* 31874*/ OPC_EmitMergeInputChains1_0,
16287/* 31875*/ OPC_EmitInteger, MVT::i32, 0,
16288/* 31878*/ OPC_EmitInteger, MVT::i32, 0,
16289/* 31881*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16290 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16291 // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
16292 // Dst: (LOAD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16293/* 31890*/ 0, // EndSwitchType
16294/* 31891*/ /*Scope*/ 24, /*->31916*/
16295/* 31892*/ OPC_CheckPredicate, 12, // Predicate_sextload
16296/* 31894*/ OPC_CheckPredicate, 1, // Predicate_sextloadi8
16297/* 31896*/ OPC_CheckType, MVT::i32,
16298/* 31898*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16299/* 31900*/ OPC_EmitMergeInputChains1_0,
16300/* 31901*/ OPC_EmitInteger, MVT::i32, 0,
16301/* 31904*/ OPC_EmitInteger, MVT::i32, 0,
16302/* 31907*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
16303 MVT::i32, 3/*#Ops*/, 2, 3, 1,
16304 // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 4
16305 // Dst: (LOAD8_S_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16306/* 31916*/ /*Scope*/ 24, /*->31941*/
16307/* 31917*/ OPC_CheckPredicate, 13, // Predicate_zextload
16308/* 31919*/ OPC_CheckPredicate, 1, // Predicate_zextloadi8
16309/* 31921*/ OPC_CheckType, MVT::i32,
16310/* 31923*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16311/* 31925*/ OPC_EmitMergeInputChains1_0,
16312/* 31926*/ OPC_EmitInteger, MVT::i32, 0,
16313/* 31929*/ OPC_EmitInteger, MVT::i32, 0,
16314/* 31932*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
16315 MVT::i32, 3/*#Ops*/, 2, 3, 1,
16316 // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 4
16317 // Dst: (LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16318/* 31941*/ /*Scope*/ 24, /*->31966*/
16319/* 31942*/ OPC_CheckPredicate, 12, // Predicate_sextload
16320/* 31944*/ OPC_CheckPredicate, 2, // Predicate_sextloadi16
16321/* 31946*/ OPC_CheckType, MVT::i32,
16322/* 31948*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16323/* 31950*/ OPC_EmitMergeInputChains1_0,
16324/* 31951*/ OPC_EmitInteger, MVT::i32, 0,
16325/* 31954*/ OPC_EmitInteger, MVT::i32, 0,
16326/* 31957*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
16327 MVT::i32, 3/*#Ops*/, 2, 3, 1,
16328 // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 4
16329 // Dst: (LOAD16_S_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16330/* 31966*/ /*Scope*/ 24, /*->31991*/
16331/* 31967*/ OPC_CheckPredicate, 13, // Predicate_zextload
16332/* 31969*/ OPC_CheckPredicate, 2, // Predicate_zextloadi16
16333/* 31971*/ OPC_CheckType, MVT::i32,
16334/* 31973*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16335/* 31975*/ OPC_EmitMergeInputChains1_0,
16336/* 31976*/ OPC_EmitInteger, MVT::i32, 0,
16337/* 31979*/ OPC_EmitInteger, MVT::i32, 0,
16338/* 31982*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
16339 MVT::i32, 3/*#Ops*/, 2, 3, 1,
16340 // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 4
16341 // Dst: (LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16342/* 31991*/ /*Scope*/ 24, /*->32016*/
16343/* 31992*/ OPC_CheckPredicate, 12, // Predicate_sextload
16344/* 31994*/ OPC_CheckPredicate, 1, // Predicate_sextloadi8
16345/* 31996*/ OPC_CheckType, MVT::i64,
16346/* 31998*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16347/* 32000*/ OPC_EmitMergeInputChains1_0,
16348/* 32001*/ OPC_EmitInteger, MVT::i32, 0,
16349/* 32004*/ OPC_EmitInteger, MVT::i32, 0,
16350/* 32007*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16351 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16352 // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 4
16353 // Dst: (LOAD8_S_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16354/* 32016*/ /*Scope*/ 24, /*->32041*/
16355/* 32017*/ OPC_CheckPredicate, 13, // Predicate_zextload
16356/* 32019*/ OPC_CheckPredicate, 1, // Predicate_zextloadi8
16357/* 32021*/ OPC_CheckType, MVT::i64,
16358/* 32023*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16359/* 32025*/ OPC_EmitMergeInputChains1_0,
16360/* 32026*/ OPC_EmitInteger, MVT::i32, 0,
16361/* 32029*/ OPC_EmitInteger, MVT::i32, 0,
16362/* 32032*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16363 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16364 // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 4
16365 // Dst: (LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16366/* 32041*/ /*Scope*/ 24, /*->32066*/
16367/* 32042*/ OPC_CheckPredicate, 12, // Predicate_sextload
16368/* 32044*/ OPC_CheckPredicate, 2, // Predicate_sextloadi16
16369/* 32046*/ OPC_CheckType, MVT::i64,
16370/* 32048*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16371/* 32050*/ OPC_EmitMergeInputChains1_0,
16372/* 32051*/ OPC_EmitInteger, MVT::i32, 0,
16373/* 32054*/ OPC_EmitInteger, MVT::i32, 0,
16374/* 32057*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16375 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16376 // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 4
16377 // Dst: (LOAD16_S_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16378/* 32066*/ /*Scope*/ 24, /*->32091*/
16379/* 32067*/ OPC_CheckPredicate, 13, // Predicate_zextload
16380/* 32069*/ OPC_CheckPredicate, 2, // Predicate_zextloadi16
16381/* 32071*/ OPC_CheckType, MVT::i64,
16382/* 32073*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16383/* 32075*/ OPC_EmitMergeInputChains1_0,
16384/* 32076*/ OPC_EmitInteger, MVT::i32, 0,
16385/* 32079*/ OPC_EmitInteger, MVT::i32, 0,
16386/* 32082*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16387 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16388 // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 4
16389 // Dst: (LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16390/* 32091*/ /*Scope*/ 24, /*->32116*/
16391/* 32092*/ OPC_CheckPredicate, 12, // Predicate_sextload
16392/* 32094*/ OPC_CheckPredicate, 6, // Predicate_sextloadi32
16393/* 32096*/ OPC_CheckType, MVT::i64,
16394/* 32098*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16395/* 32100*/ OPC_EmitMergeInputChains1_0,
16396/* 32101*/ OPC_EmitInteger, MVT::i32, 0,
16397/* 32104*/ OPC_EmitInteger, MVT::i32, 0,
16398/* 32107*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16399 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16400 // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 4
16401 // Dst: (LOAD32_S_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16402/* 32116*/ /*Scope*/ 24, /*->32141*/
16403/* 32117*/ OPC_CheckPredicate, 13, // Predicate_zextload
16404/* 32119*/ OPC_CheckPredicate, 6, // Predicate_zextloadi32
16405/* 32121*/ OPC_CheckType, MVT::i64,
16406/* 32123*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16407/* 32125*/ OPC_EmitMergeInputChains1_0,
16408/* 32126*/ OPC_EmitInteger, MVT::i32, 0,
16409/* 32129*/ OPC_EmitInteger, MVT::i32, 0,
16410/* 32132*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16411 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16412 // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 4
16413 // Dst: (LOAD32_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16414/* 32141*/ /*Scope*/ 117, /*->32259*/
16415/* 32142*/ OPC_CheckPredicate, 14, // Predicate_extload
16416/* 32144*/ OPC_SwitchType /*2 cases */, 44, MVT::i32,// ->32191
16417/* 32147*/ OPC_Scope, 20, /*->32169*/ // 2 children in Scope
16418/* 32149*/ OPC_CheckPredicate, 1, // Predicate_extloadi8
16419/* 32151*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16420/* 32153*/ OPC_EmitMergeInputChains1_0,
16421/* 32154*/ OPC_EmitInteger, MVT::i32, 0,
16422/* 32157*/ OPC_EmitInteger, MVT::i32, 0,
16423/* 32160*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
16424 MVT::i32, 3/*#Ops*/, 2, 3, 1,
16425 // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 4
16426 // Dst: (LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16427/* 32169*/ /*Scope*/ 20, /*->32190*/
16428/* 32170*/ OPC_CheckPredicate, 2, // Predicate_extloadi16
16429/* 32172*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16430/* 32174*/ OPC_EmitMergeInputChains1_0,
16431/* 32175*/ OPC_EmitInteger, MVT::i32, 0,
16432/* 32178*/ OPC_EmitInteger, MVT::i32, 0,
16433/* 32181*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
16434 MVT::i32, 3/*#Ops*/, 2, 3, 1,
16435 // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 4
16436 // Dst: (LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16437/* 32190*/ 0, /*End of Scope*/
16438/* 32191*/ /*SwitchType*/ 65, MVT::i64,// ->32258
16439/* 32193*/ OPC_Scope, 20, /*->32215*/ // 3 children in Scope
16440/* 32195*/ OPC_CheckPredicate, 1, // Predicate_extloadi8
16441/* 32197*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16442/* 32199*/ OPC_EmitMergeInputChains1_0,
16443/* 32200*/ OPC_EmitInteger, MVT::i32, 0,
16444/* 32203*/ OPC_EmitInteger, MVT::i32, 0,
16445/* 32206*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16446 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16447 // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 4
16448 // Dst: (LOAD8_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16449/* 32215*/ /*Scope*/ 20, /*->32236*/
16450/* 32216*/ OPC_CheckPredicate, 2, // Predicate_extloadi16
16451/* 32218*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16452/* 32220*/ OPC_EmitMergeInputChains1_0,
16453/* 32221*/ OPC_EmitInteger, MVT::i32, 0,
16454/* 32224*/ OPC_EmitInteger, MVT::i32, 0,
16455/* 32227*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16456 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16457 // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 4
16458 // Dst: (LOAD16_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16459/* 32236*/ /*Scope*/ 20, /*->32257*/
16460/* 32237*/ OPC_CheckPredicate, 6, // Predicate_extloadi32
16461/* 32239*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16462/* 32241*/ OPC_EmitMergeInputChains1_0,
16463/* 32242*/ OPC_EmitInteger, MVT::i32, 0,
16464/* 32245*/ OPC_EmitInteger, MVT::i32, 0,
16465/* 32248*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16466 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16467 // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 4
16468 // Dst: (LOAD32_U_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16469/* 32257*/ 0, /*End of Scope*/
16470/* 32258*/ 0, // EndSwitchType
16471/* 32259*/ 0, /*End of Scope*/
16472/* 32260*/ /*Scope*/ 35|128,3/*419*/, /*->32681*/
16473/* 32262*/ OPC_CheckChild1Type, MVT::i64,
16474/* 32264*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
16475/* 32266*/ OPC_Scope, 44, /*->32312*/ // 12 children in Scope
16476/* 32268*/ OPC_CheckPredicate, 11, // Predicate_load
16477/* 32270*/ OPC_SwitchType /*2 cases */, 18, MVT::i32,// ->32291
16478/* 32273*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16479/* 32275*/ OPC_EmitMergeInputChains1_0,
16480/* 32276*/ OPC_EmitInteger, MVT::i32, 0,
16481/* 32279*/ OPC_EmitInteger, MVT::i64, 0,
16482/* 32282*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
16483 MVT::i32, 3/*#Ops*/, 2, 3, 1,
16484 // Src: (ld:{ *:[i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
16485 // Dst: (LOAD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16486/* 32291*/ /*SwitchType*/ 18, MVT::i64,// ->32311
16487/* 32293*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16488/* 32295*/ OPC_EmitMergeInputChains1_0,
16489/* 32296*/ OPC_EmitInteger, MVT::i32, 0,
16490/* 32299*/ OPC_EmitInteger, MVT::i64, 0,
16491/* 32302*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16492 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16493 // Src: (ld:{ *:[i64] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
16494 // Dst: (LOAD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16495/* 32311*/ 0, // EndSwitchType
16496/* 32312*/ /*Scope*/ 24, /*->32337*/
16497/* 32313*/ OPC_CheckPredicate, 12, // Predicate_sextload
16498/* 32315*/ OPC_CheckPredicate, 1, // Predicate_sextloadi8
16499/* 32317*/ OPC_CheckType, MVT::i32,
16500/* 32319*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16501/* 32321*/ OPC_EmitMergeInputChains1_0,
16502/* 32322*/ OPC_EmitInteger, MVT::i32, 0,
16503/* 32325*/ OPC_EmitInteger, MVT::i64, 0,
16504/* 32328*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
16505 MVT::i32, 3/*#Ops*/, 2, 3, 1,
16506 // Src: (ld:{ *:[i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 4
16507 // Dst: (LOAD8_S_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16508/* 32337*/ /*Scope*/ 24, /*->32362*/
16509/* 32338*/ OPC_CheckPredicate, 13, // Predicate_zextload
16510/* 32340*/ OPC_CheckPredicate, 1, // Predicate_zextloadi8
16511/* 32342*/ OPC_CheckType, MVT::i32,
16512/* 32344*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16513/* 32346*/ OPC_EmitMergeInputChains1_0,
16514/* 32347*/ OPC_EmitInteger, MVT::i32, 0,
16515/* 32350*/ OPC_EmitInteger, MVT::i64, 0,
16516/* 32353*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
16517 MVT::i32, 3/*#Ops*/, 2, 3, 1,
16518 // Src: (ld:{ *:[i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 4
16519 // Dst: (LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16520/* 32362*/ /*Scope*/ 24, /*->32387*/
16521/* 32363*/ OPC_CheckPredicate, 12, // Predicate_sextload
16522/* 32365*/ OPC_CheckPredicate, 2, // Predicate_sextloadi16
16523/* 32367*/ OPC_CheckType, MVT::i32,
16524/* 32369*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16525/* 32371*/ OPC_EmitMergeInputChains1_0,
16526/* 32372*/ OPC_EmitInteger, MVT::i32, 0,
16527/* 32375*/ OPC_EmitInteger, MVT::i64, 0,
16528/* 32378*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
16529 MVT::i32, 3/*#Ops*/, 2, 3, 1,
16530 // Src: (ld:{ *:[i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 4
16531 // Dst: (LOAD16_S_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16532/* 32387*/ /*Scope*/ 24, /*->32412*/
16533/* 32388*/ OPC_CheckPredicate, 13, // Predicate_zextload
16534/* 32390*/ OPC_CheckPredicate, 2, // Predicate_zextloadi16
16535/* 32392*/ OPC_CheckType, MVT::i32,
16536/* 32394*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16537/* 32396*/ OPC_EmitMergeInputChains1_0,
16538/* 32397*/ OPC_EmitInteger, MVT::i32, 0,
16539/* 32400*/ OPC_EmitInteger, MVT::i64, 0,
16540/* 32403*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
16541 MVT::i32, 3/*#Ops*/, 2, 3, 1,
16542 // Src: (ld:{ *:[i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 4
16543 // Dst: (LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16544/* 32412*/ /*Scope*/ 24, /*->32437*/
16545/* 32413*/ OPC_CheckPredicate, 12, // Predicate_sextload
16546/* 32415*/ OPC_CheckPredicate, 1, // Predicate_sextloadi8
16547/* 32417*/ OPC_CheckType, MVT::i64,
16548/* 32419*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16549/* 32421*/ OPC_EmitMergeInputChains1_0,
16550/* 32422*/ OPC_EmitInteger, MVT::i32, 0,
16551/* 32425*/ OPC_EmitInteger, MVT::i64, 0,
16552/* 32428*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16553 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16554 // Src: (ld:{ *:[i64] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 4
16555 // Dst: (LOAD8_S_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16556/* 32437*/ /*Scope*/ 24, /*->32462*/
16557/* 32438*/ OPC_CheckPredicate, 13, // Predicate_zextload
16558/* 32440*/ OPC_CheckPredicate, 1, // Predicate_zextloadi8
16559/* 32442*/ OPC_CheckType, MVT::i64,
16560/* 32444*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16561/* 32446*/ OPC_EmitMergeInputChains1_0,
16562/* 32447*/ OPC_EmitInteger, MVT::i32, 0,
16563/* 32450*/ OPC_EmitInteger, MVT::i64, 0,
16564/* 32453*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16565 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16566 // Src: (ld:{ *:[i64] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 4
16567 // Dst: (LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16568/* 32462*/ /*Scope*/ 24, /*->32487*/
16569/* 32463*/ OPC_CheckPredicate, 12, // Predicate_sextload
16570/* 32465*/ OPC_CheckPredicate, 2, // Predicate_sextloadi16
16571/* 32467*/ OPC_CheckType, MVT::i64,
16572/* 32469*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16573/* 32471*/ OPC_EmitMergeInputChains1_0,
16574/* 32472*/ OPC_EmitInteger, MVT::i32, 0,
16575/* 32475*/ OPC_EmitInteger, MVT::i64, 0,
16576/* 32478*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16577 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16578 // Src: (ld:{ *:[i64] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 4
16579 // Dst: (LOAD16_S_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16580/* 32487*/ /*Scope*/ 24, /*->32512*/
16581/* 32488*/ OPC_CheckPredicate, 13, // Predicate_zextload
16582/* 32490*/ OPC_CheckPredicate, 2, // Predicate_zextloadi16
16583/* 32492*/ OPC_CheckType, MVT::i64,
16584/* 32494*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16585/* 32496*/ OPC_EmitMergeInputChains1_0,
16586/* 32497*/ OPC_EmitInteger, MVT::i32, 0,
16587/* 32500*/ OPC_EmitInteger, MVT::i64, 0,
16588/* 32503*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16589 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16590 // Src: (ld:{ *:[i64] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 4
16591 // Dst: (LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16592/* 32512*/ /*Scope*/ 24, /*->32537*/
16593/* 32513*/ OPC_CheckPredicate, 12, // Predicate_sextload
16594/* 32515*/ OPC_CheckPredicate, 6, // Predicate_sextloadi32
16595/* 32517*/ OPC_CheckType, MVT::i64,
16596/* 32519*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16597/* 32521*/ OPC_EmitMergeInputChains1_0,
16598/* 32522*/ OPC_EmitInteger, MVT::i32, 0,
16599/* 32525*/ OPC_EmitInteger, MVT::i64, 0,
16600/* 32528*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16601 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16602 // Src: (ld:{ *:[i64] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 4
16603 // Dst: (LOAD32_S_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16604/* 32537*/ /*Scope*/ 24, /*->32562*/
16605/* 32538*/ OPC_CheckPredicate, 13, // Predicate_zextload
16606/* 32540*/ OPC_CheckPredicate, 6, // Predicate_zextloadi32
16607/* 32542*/ OPC_CheckType, MVT::i64,
16608/* 32544*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16609/* 32546*/ OPC_EmitMergeInputChains1_0,
16610/* 32547*/ OPC_EmitInteger, MVT::i32, 0,
16611/* 32550*/ OPC_EmitInteger, MVT::i64, 0,
16612/* 32553*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16613 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16614 // Src: (ld:{ *:[i64] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 4
16615 // Dst: (LOAD32_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16616/* 32562*/ /*Scope*/ 117, /*->32680*/
16617/* 32563*/ OPC_CheckPredicate, 14, // Predicate_extload
16618/* 32565*/ OPC_SwitchType /*2 cases */, 44, MVT::i32,// ->32612
16619/* 32568*/ OPC_Scope, 20, /*->32590*/ // 2 children in Scope
16620/* 32570*/ OPC_CheckPredicate, 1, // Predicate_extloadi8
16621/* 32572*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16622/* 32574*/ OPC_EmitMergeInputChains1_0,
16623/* 32575*/ OPC_EmitInteger, MVT::i32, 0,
16624/* 32578*/ OPC_EmitInteger, MVT::i64, 0,
16625/* 32581*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
16626 MVT::i32, 3/*#Ops*/, 2, 3, 1,
16627 // Src: (ld:{ *:[i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 4
16628 // Dst: (LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16629/* 32590*/ /*Scope*/ 20, /*->32611*/
16630/* 32591*/ OPC_CheckPredicate, 2, // Predicate_extloadi16
16631/* 32593*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16632/* 32595*/ OPC_EmitMergeInputChains1_0,
16633/* 32596*/ OPC_EmitInteger, MVT::i32, 0,
16634/* 32599*/ OPC_EmitInteger, MVT::i64, 0,
16635/* 32602*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
16636 MVT::i32, 3/*#Ops*/, 2, 3, 1,
16637 // Src: (ld:{ *:[i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 4
16638 // Dst: (LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16639/* 32611*/ 0, /*End of Scope*/
16640/* 32612*/ /*SwitchType*/ 65, MVT::i64,// ->32679
16641/* 32614*/ OPC_Scope, 20, /*->32636*/ // 3 children in Scope
16642/* 32616*/ OPC_CheckPredicate, 1, // Predicate_extloadi8
16643/* 32618*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16644/* 32620*/ OPC_EmitMergeInputChains1_0,
16645/* 32621*/ OPC_EmitInteger, MVT::i32, 0,
16646/* 32624*/ OPC_EmitInteger, MVT::i64, 0,
16647/* 32627*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16648 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16649 // Src: (ld:{ *:[i64] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 4
16650 // Dst: (LOAD8_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16651/* 32636*/ /*Scope*/ 20, /*->32657*/
16652/* 32637*/ OPC_CheckPredicate, 2, // Predicate_extloadi16
16653/* 32639*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16654/* 32641*/ OPC_EmitMergeInputChains1_0,
16655/* 32642*/ OPC_EmitInteger, MVT::i32, 0,
16656/* 32645*/ OPC_EmitInteger, MVT::i64, 0,
16657/* 32648*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16658 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16659 // Src: (ld:{ *:[i64] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 4
16660 // Dst: (LOAD16_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16661/* 32657*/ /*Scope*/ 20, /*->32678*/
16662/* 32658*/ OPC_CheckPredicate, 6, // Predicate_extloadi32
16663/* 32660*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16664/* 32662*/ OPC_EmitMergeInputChains1_0,
16665/* 32663*/ OPC_EmitInteger, MVT::i32, 0,
16666/* 32666*/ OPC_EmitInteger, MVT::i64, 0,
16667/* 32669*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16668 MVT::i64, 3/*#Ops*/, 2, 3, 1,
16669 // Src: (ld:{ *:[i64] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 4
16670 // Dst: (LOAD32_U_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16671/* 32678*/ 0, /*End of Scope*/
16672/* 32679*/ 0, // EndSwitchType
16673/* 32680*/ 0, /*End of Scope*/
16674/* 32681*/ 0, /*End of Scope*/
16675/* 32682*/ /*Scope*/ 91|128,2/*347*/, /*->33031*/
16676/* 32684*/ OPC_MoveChild1,
16677/* 32685*/ OPC_SwitchOpcode /*3 cases */, 105, TARGET_VAL(ISD::ADD),// ->32794
16678/* 32689*/ OPC_RecordChild0, // #1 = $addr
16679/* 32690*/ OPC_RecordChild1, // #2 = $off
16680/* 32691*/ OPC_MoveChild1,
16681/* 32692*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16682/* 32695*/ OPC_MoveParent,
16683/* 32696*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
16684/* 32698*/ OPC_SwitchType /*2 cases */, 45, MVT::i32,// ->32746
16685/* 32701*/ OPC_MoveParent,
16686/* 32702*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
16687/* 32704*/ OPC_CheckPredicate, 11, // Predicate_load
16688/* 32706*/ OPC_SwitchType /*2 cases */, 17, MVT::f32,// ->32726
16689/* 32709*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16690/* 32711*/ OPC_EmitMergeInputChains1_0,
16691/* 32712*/ OPC_EmitInteger, MVT::i32, 0,
16692/* 32715*/ OPC_EmitConvertToTarget, 2,
16693/* 32717*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
16694 MVT::f32, 3/*#Ops*/, 3, 4, 1,
16695 // Src: (ld:{ *:[f32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
16696 // Dst: (LOAD_F32_A32:{ *:[f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16697/* 32726*/ /*SwitchType*/ 17, MVT::f64,// ->32745
16698/* 32728*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16699/* 32730*/ OPC_EmitMergeInputChains1_0,
16700/* 32731*/ OPC_EmitInteger, MVT::i32, 0,
16701/* 32734*/ OPC_EmitConvertToTarget, 2,
16702/* 32736*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16703 MVT::f64, 3/*#Ops*/, 3, 4, 1,
16704 // Src: (ld:{ *:[f64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
16705 // Dst: (LOAD_F64_A32:{ *:[f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16706/* 32745*/ 0, // EndSwitchType
16707/* 32746*/ /*SwitchType*/ 45, MVT::i64,// ->32793
16708/* 32748*/ OPC_MoveParent,
16709/* 32749*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
16710/* 32751*/ OPC_CheckPredicate, 11, // Predicate_load
16711/* 32753*/ OPC_SwitchType /*2 cases */, 17, MVT::f32,// ->32773
16712/* 32756*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16713/* 32758*/ OPC_EmitMergeInputChains1_0,
16714/* 32759*/ OPC_EmitInteger, MVT::i32, 0,
16715/* 32762*/ OPC_EmitConvertToTarget, 2,
16716/* 32764*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
16717 MVT::f32, 3/*#Ops*/, 3, 4, 1,
16718 // Src: (ld:{ *:[f32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
16719 // Dst: (LOAD_F32_A64:{ *:[f32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
16720/* 32773*/ /*SwitchType*/ 17, MVT::f64,// ->32792
16721/* 32775*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16722/* 32777*/ OPC_EmitMergeInputChains1_0,
16723/* 32778*/ OPC_EmitInteger, MVT::i32, 0,
16724/* 32781*/ OPC_EmitConvertToTarget, 2,
16725/* 32783*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16726 MVT::f64, 3/*#Ops*/, 3, 4, 1,
16727 // Src: (ld:{ *:[f64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
16728 // Dst: (LOAD_F64_A64:{ *:[f64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
16729/* 32792*/ 0, // EndSwitchType
16730/* 32793*/ 0, // EndSwitchType
16731/* 32794*/ /*SwitchOpcode*/ 105, TARGET_VAL(ISD::OR),// ->32902
16732/* 32797*/ OPC_RecordChild0, // #1 = $addr
16733/* 32798*/ OPC_RecordChild1, // #2 = $off
16734/* 32799*/ OPC_MoveChild1,
16735/* 32800*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16736/* 32803*/ OPC_MoveParent,
16737/* 32804*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
16738/* 32806*/ OPC_SwitchType /*2 cases */, 45, MVT::i32,// ->32854
16739/* 32809*/ OPC_MoveParent,
16740/* 32810*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
16741/* 32812*/ OPC_CheckPredicate, 11, // Predicate_load
16742/* 32814*/ OPC_SwitchType /*2 cases */, 17, MVT::f32,// ->32834
16743/* 32817*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16744/* 32819*/ OPC_EmitMergeInputChains1_0,
16745/* 32820*/ OPC_EmitInteger, MVT::i32, 0,
16746/* 32823*/ OPC_EmitConvertToTarget, 2,
16747/* 32825*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
16748 MVT::f32, 3/*#Ops*/, 3, 4, 1,
16749 // Src: (ld:{ *:[f32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
16750 // Dst: (LOAD_F32_A32:{ *:[f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16751/* 32834*/ /*SwitchType*/ 17, MVT::f64,// ->32853
16752/* 32836*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16753/* 32838*/ OPC_EmitMergeInputChains1_0,
16754/* 32839*/ OPC_EmitInteger, MVT::i32, 0,
16755/* 32842*/ OPC_EmitConvertToTarget, 2,
16756/* 32844*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16757 MVT::f64, 3/*#Ops*/, 3, 4, 1,
16758 // Src: (ld:{ *:[f64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
16759 // Dst: (LOAD_F64_A32:{ *:[f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16760/* 32853*/ 0, // EndSwitchType
16761/* 32854*/ /*SwitchType*/ 45, MVT::i64,// ->32901
16762/* 32856*/ OPC_MoveParent,
16763/* 32857*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
16764/* 32859*/ OPC_CheckPredicate, 11, // Predicate_load
16765/* 32861*/ OPC_SwitchType /*2 cases */, 17, MVT::f32,// ->32881
16766/* 32864*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16767/* 32866*/ OPC_EmitMergeInputChains1_0,
16768/* 32867*/ OPC_EmitInteger, MVT::i32, 0,
16769/* 32870*/ OPC_EmitConvertToTarget, 2,
16770/* 32872*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
16771 MVT::f32, 3/*#Ops*/, 3, 4, 1,
16772 // Src: (ld:{ *:[f32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
16773 // Dst: (LOAD_F32_A64:{ *:[f32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
16774/* 32881*/ /*SwitchType*/ 17, MVT::f64,// ->32900
16775/* 32883*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16776/* 32885*/ OPC_EmitMergeInputChains1_0,
16777/* 32886*/ OPC_EmitInteger, MVT::i32, 0,
16778/* 32889*/ OPC_EmitConvertToTarget, 2,
16779/* 32891*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16780 MVT::f64, 3/*#Ops*/, 3, 4, 1,
16781 // Src: (ld:{ *:[f64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
16782 // Dst: (LOAD_F64_A64:{ *:[f64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
16783/* 32900*/ 0, // EndSwitchType
16784/* 32901*/ 0, // EndSwitchType
16785/* 32902*/ /*SwitchOpcode*/ 125, TARGET_VAL(WebAssemblyISD::Wrapper),// ->33030
16786/* 32905*/ OPC_RecordChild0, // #1 = $off
16787/* 32906*/ OPC_MoveChild0,
16788/* 32907*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
16789/* 32910*/ OPC_MoveParent,
16790/* 32911*/ OPC_MoveParent,
16791/* 32912*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
16792/* 32914*/ OPC_CheckPredicate, 11, // Predicate_load
16793/* 32916*/ OPC_SwitchType /*2 cases */, 54, MVT::f32,// ->32973
16794/* 32919*/ OPC_Scope, 25, /*->32946*/ // 2 children in Scope
16795/* 32921*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
16796/* 32923*/ OPC_EmitMergeInputChains1_0,
16797/* 32924*/ OPC_EmitInteger, MVT::i32, 0,
16798/* 32927*/ OPC_EmitInteger, MVT::i32, 0,
16799/* 32930*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16800 MVT::i32, 1/*#Ops*/, 3, // Results = #4
16801/* 32937*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
16802 MVT::f32, 3/*#Ops*/, 2, 1, 4,
16803 // Src: (ld:{ *:[f32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
16804 // Dst: (LOAD_F32_A32:{ *:[f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
16805/* 32946*/ /*Scope*/ 25, /*->32972*/
16806/* 32947*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
16807/* 32949*/ OPC_EmitMergeInputChains1_0,
16808/* 32950*/ OPC_EmitInteger, MVT::i32, 0,
16809/* 32953*/ OPC_EmitInteger, MVT::i64, 0,
16810/* 32956*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
16811 MVT::i64, 1/*#Ops*/, 3, // Results = #4
16812/* 32963*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
16813 MVT::f32, 3/*#Ops*/, 2, 1, 4,
16814 // Src: (ld:{ *:[f32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
16815 // Dst: (LOAD_F32_A64:{ *:[f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
16816/* 32972*/ 0, /*End of Scope*/
16817/* 32973*/ /*SwitchType*/ 54, MVT::f64,// ->33029
16818/* 32975*/ OPC_Scope, 25, /*->33002*/ // 2 children in Scope
16819/* 32977*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
16820/* 32979*/ OPC_EmitMergeInputChains1_0,
16821/* 32980*/ OPC_EmitInteger, MVT::i32, 0,
16822/* 32983*/ OPC_EmitInteger, MVT::i32, 0,
16823/* 32986*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16824 MVT::i32, 1/*#Ops*/, 3, // Results = #4
16825/* 32993*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16826 MVT::f64, 3/*#Ops*/, 2, 1, 4,
16827 // Src: (ld:{ *:[f64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
16828 // Dst: (LOAD_F64_A32:{ *:[f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
16829/* 33002*/ /*Scope*/ 25, /*->33028*/
16830/* 33003*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
16831/* 33005*/ OPC_EmitMergeInputChains1_0,
16832/* 33006*/ OPC_EmitInteger, MVT::i32, 0,
16833/* 33009*/ OPC_EmitInteger, MVT::i64, 0,
16834/* 33012*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
16835 MVT::i64, 1/*#Ops*/, 3, // Results = #4
16836/* 33019*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16837 MVT::f64, 3/*#Ops*/, 2, 1, 4,
16838 // Src: (ld:{ *:[f64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
16839 // Dst: (LOAD_F64_A64:{ *:[f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
16840/* 33028*/ 0, /*End of Scope*/
16841/* 33029*/ 0, // EndSwitchType
16842/* 33030*/ 0, // EndSwitchOpcode
16843/* 33031*/ /*Scope*/ 106|128,1/*234*/, /*->33267*/
16844/* 33033*/ OPC_RecordChild1, // #1 = $off
16845/* 33034*/ OPC_Scope, 3|128,1/*131*/, /*->33168*/ // 3 children in Scope
16846/* 33037*/ OPC_MoveChild1,
16847/* 33038*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16848/* 33041*/ OPC_MoveParent,
16849/* 33042*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
16850/* 33044*/ OPC_CheckPredicate, 11, // Predicate_load
16851/* 33046*/ OPC_SwitchType /*2 cases */, 58, MVT::f32,// ->33107
16852/* 33049*/ OPC_Scope, 27, /*->33078*/ // 2 children in Scope
16853/* 33051*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16854/* 33053*/ OPC_EmitMergeInputChains1_0,
16855/* 33054*/ OPC_EmitInteger, MVT::i32, 0,
16856/* 33057*/ OPC_EmitConvertToTarget, 1,
16857/* 33059*/ OPC_EmitInteger, MVT::i32, 0,
16858/* 33062*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16859 MVT::i32, 1/*#Ops*/, 4, // Results = #5
16860/* 33069*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
16861 MVT::f32, 3/*#Ops*/, 2, 3, 5,
16862 // Src: (ld:{ *:[f32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
16863 // Dst: (LOAD_F32_A32:{ *:[f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
16864/* 33078*/ /*Scope*/ 27, /*->33106*/
16865/* 33079*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16866/* 33081*/ OPC_EmitMergeInputChains1_0,
16867/* 33082*/ OPC_EmitInteger, MVT::i32, 0,
16868/* 33085*/ OPC_EmitConvertToTarget, 1,
16869/* 33087*/ OPC_EmitInteger, MVT::i64, 0,
16870/* 33090*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
16871 MVT::i64, 1/*#Ops*/, 4, // Results = #5
16872/* 33097*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
16873 MVT::f32, 3/*#Ops*/, 2, 3, 5,
16874 // Src: (ld:{ *:[f32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
16875 // Dst: (LOAD_F32_A64:{ *:[f32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
16876/* 33106*/ 0, /*End of Scope*/
16877/* 33107*/ /*SwitchType*/ 58, MVT::f64,// ->33167
16878/* 33109*/ OPC_Scope, 27, /*->33138*/ // 2 children in Scope
16879/* 33111*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16880/* 33113*/ OPC_EmitMergeInputChains1_0,
16881/* 33114*/ OPC_EmitInteger, MVT::i32, 0,
16882/* 33117*/ OPC_EmitConvertToTarget, 1,
16883/* 33119*/ OPC_EmitInteger, MVT::i32, 0,
16884/* 33122*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16885 MVT::i32, 1/*#Ops*/, 4, // Results = #5
16886/* 33129*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16887 MVT::f64, 3/*#Ops*/, 2, 3, 5,
16888 // Src: (ld:{ *:[f64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
16889 // Dst: (LOAD_F64_A32:{ *:[f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
16890/* 33138*/ /*Scope*/ 27, /*->33166*/
16891/* 33139*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16892/* 33141*/ OPC_EmitMergeInputChains1_0,
16893/* 33142*/ OPC_EmitInteger, MVT::i32, 0,
16894/* 33145*/ OPC_EmitConvertToTarget, 1,
16895/* 33147*/ OPC_EmitInteger, MVT::i64, 0,
16896/* 33150*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
16897 MVT::i64, 1/*#Ops*/, 4, // Results = #5
16898/* 33157*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16899 MVT::f64, 3/*#Ops*/, 2, 3, 5,
16900 // Src: (ld:{ *:[f64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
16901 // Dst: (LOAD_F64_A64:{ *:[f64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
16902/* 33166*/ 0, /*End of Scope*/
16903/* 33167*/ 0, // EndSwitchType
16904/* 33168*/ /*Scope*/ 48, /*->33217*/
16905/* 33169*/ OPC_CheckChild1Type, MVT::i32,
16906/* 33171*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
16907/* 33173*/ OPC_CheckPredicate, 11, // Predicate_load
16908/* 33175*/ OPC_SwitchType /*2 cases */, 18, MVT::f32,// ->33196
16909/* 33178*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16910/* 33180*/ OPC_EmitMergeInputChains1_0,
16911/* 33181*/ OPC_EmitInteger, MVT::i32, 0,
16912/* 33184*/ OPC_EmitInteger, MVT::i32, 0,
16913/* 33187*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
16914 MVT::f32, 3/*#Ops*/, 2, 3, 1,
16915 // Src: (ld:{ *:[f32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
16916 // Dst: (LOAD_F32_A32:{ *:[f32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16917/* 33196*/ /*SwitchType*/ 18, MVT::f64,// ->33216
16918/* 33198*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16919/* 33200*/ OPC_EmitMergeInputChains1_0,
16920/* 33201*/ OPC_EmitInteger, MVT::i32, 0,
16921/* 33204*/ OPC_EmitInteger, MVT::i32, 0,
16922/* 33207*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64_A32), 0|OPFL_Chain|OPFL_MemRefs,
16923 MVT::f64, 3/*#Ops*/, 2, 3, 1,
16924 // Src: (ld:{ *:[f64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
16925 // Dst: (LOAD_F64_A32:{ *:[f64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
16926/* 33216*/ 0, // EndSwitchType
16927/* 33217*/ /*Scope*/ 48, /*->33266*/
16928/* 33218*/ OPC_CheckChild1Type, MVT::i64,
16929/* 33220*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
16930/* 33222*/ OPC_CheckPredicate, 11, // Predicate_load
16931/* 33224*/ OPC_SwitchType /*2 cases */, 18, MVT::f32,// ->33245
16932/* 33227*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16933/* 33229*/ OPC_EmitMergeInputChains1_0,
16934/* 33230*/ OPC_EmitInteger, MVT::i32, 0,
16935/* 33233*/ OPC_EmitInteger, MVT::i64, 0,
16936/* 33236*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
16937 MVT::f32, 3/*#Ops*/, 2, 3, 1,
16938 // Src: (ld:{ *:[f32] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
16939 // Dst: (LOAD_F32_A64:{ *:[f32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16940/* 33245*/ /*SwitchType*/ 18, MVT::f64,// ->33265
16941/* 33247*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
16942/* 33249*/ OPC_EmitMergeInputChains1_0,
16943/* 33250*/ OPC_EmitInteger, MVT::i32, 0,
16944/* 33253*/ OPC_EmitInteger, MVT::i64, 0,
16945/* 33256*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64_A64), 0|OPFL_Chain|OPFL_MemRefs,
16946 MVT::f64, 3/*#Ops*/, 2, 3, 1,
16947 // Src: (ld:{ *:[f64] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
16948 // Dst: (LOAD_F64_A64:{ *:[f64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
16949/* 33265*/ 0, // EndSwitchType
16950/* 33266*/ 0, /*End of Scope*/
16951/* 33267*/ /*Scope*/ 127|128,15/*2047*/, /*->35316*/
16952/* 33269*/ OPC_MoveChild1,
16953/* 33270*/ OPC_SwitchOpcode /*3 cases */, 109|128,4/*621*/, TARGET_VAL(ISD::ADD),// ->33896
16954/* 33275*/ OPC_RecordChild0, // #1 = $addr
16955/* 33276*/ OPC_RecordChild1, // #2 = $off
16956/* 33277*/ OPC_MoveChild1,
16957/* 33278*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16958/* 33281*/ OPC_MoveParent,
16959/* 33282*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
16960/* 33284*/ OPC_SwitchType /*2 cases */, 46|128,2/*302*/, MVT::i32,// ->33590
16961/* 33288*/ OPC_MoveParent,
16962/* 33289*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
16963/* 33291*/ OPC_Scope, 80, /*->33373*/ // 10 children in Scope
16964/* 33293*/ OPC_CheckPredicate, 11, // Predicate_load
16965/* 33295*/ OPC_SwitchType /*4 cases */, 17, MVT::v16i8,// ->33315
16966/* 33298*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16967/* 33300*/ OPC_EmitMergeInputChains1_0,
16968/* 33301*/ OPC_EmitInteger, MVT::i32, 0,
16969/* 33304*/ OPC_EmitConvertToTarget, 2,
16970/* 33306*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
16971 MVT::v16i8, 3/*#Ops*/, 3, 4, 1,
16972 // Src: (ld:{ *:[v16i8] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
16973 // Dst: (LOAD_V128_A32:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16974/* 33315*/ /*SwitchType*/ 17, MVT::v8i16,// ->33334
16975/* 33317*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16976/* 33319*/ OPC_EmitMergeInputChains1_0,
16977/* 33320*/ OPC_EmitInteger, MVT::i32, 0,
16978/* 33323*/ OPC_EmitConvertToTarget, 2,
16979/* 33325*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
16980 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
16981 // Src: (ld:{ *:[v8i16] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
16982 // Dst: (LOAD_V128_A32:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16983/* 33334*/ /*SwitchType*/ 17, MVT::v4i32,// ->33353
16984/* 33336*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16985/* 33338*/ OPC_EmitMergeInputChains1_0,
16986/* 33339*/ OPC_EmitInteger, MVT::i32, 0,
16987/* 33342*/ OPC_EmitConvertToTarget, 2,
16988/* 33344*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
16989 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
16990 // Src: (ld:{ *:[v4i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
16991 // Dst: (LOAD_V128_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16992/* 33353*/ /*SwitchType*/ 17, MVT::v2i64,// ->33372
16993/* 33355*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
16994/* 33357*/ OPC_EmitMergeInputChains1_0,
16995/* 33358*/ OPC_EmitInteger, MVT::i32, 0,
16996/* 33361*/ OPC_EmitConvertToTarget, 2,
16997/* 33363*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
16998 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
16999 // Src: (ld:{ *:[v2i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
17000 // Dst: (LOAD_V128_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17001/* 33372*/ 0, // EndSwitchType
17002/* 33373*/ /*Scope*/ 23, /*->33397*/
17003/* 33374*/ OPC_CheckPredicate, 12, // Predicate_sextload
17004/* 33376*/ OPC_CheckPredicate, 15, // Predicate_sextloadvi8
17005/* 33378*/ OPC_CheckType, MVT::v8i16,
17006/* 33380*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17007/* 33382*/ OPC_EmitMergeInputChains1_0,
17008/* 33383*/ OPC_EmitInteger, MVT::i32, 0,
17009/* 33386*/ OPC_EmitConvertToTarget, 2,
17010/* 33388*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
17011 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
17012 // Src: (ld:{ *:[v8i16] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi8>> - Complexity = 11
17013 // Dst: (LOAD_EXTEND_S_I16x8_A32:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17014/* 33397*/ /*Scope*/ 23, /*->33421*/
17015/* 33398*/ OPC_CheckPredicate, 13, // Predicate_zextload
17016/* 33400*/ OPC_CheckPredicate, 15, // Predicate_zextloadvi8
17017/* 33402*/ OPC_CheckType, MVT::v8i16,
17018/* 33404*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17019/* 33406*/ OPC_EmitMergeInputChains1_0,
17020/* 33407*/ OPC_EmitInteger, MVT::i32, 0,
17021/* 33410*/ OPC_EmitConvertToTarget, 2,
17022/* 33412*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
17023 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
17024 // Src: (ld:{ *:[v8i16] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi8>> - Complexity = 11
17025 // Dst: (LOAD_EXTEND_U_I16x8_A32:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17026/* 33421*/ /*Scope*/ 23, /*->33445*/
17027/* 33422*/ OPC_CheckPredicate, 14, // Predicate_extload
17028/* 33424*/ OPC_CheckPredicate, 15, // Predicate_extloadvi8
17029/* 33426*/ OPC_CheckType, MVT::v8i16,
17030/* 33428*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17031/* 33430*/ OPC_EmitMergeInputChains1_0,
17032/* 33431*/ OPC_EmitInteger, MVT::i32, 0,
17033/* 33434*/ OPC_EmitConvertToTarget, 2,
17034/* 33436*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
17035 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
17036 // Src: (ld:{ *:[v8i16] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi8>> - Complexity = 11
17037 // Dst: (LOAD_EXTEND_U_I16x8_A32:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17038/* 33445*/ /*Scope*/ 23, /*->33469*/
17039/* 33446*/ OPC_CheckPredicate, 12, // Predicate_sextload
17040/* 33448*/ OPC_CheckPredicate, 16, // Predicate_sextloadvi16
17041/* 33450*/ OPC_CheckType, MVT::v4i32,
17042/* 33452*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17043/* 33454*/ OPC_EmitMergeInputChains1_0,
17044/* 33455*/ OPC_EmitInteger, MVT::i32, 0,
17045/* 33458*/ OPC_EmitConvertToTarget, 2,
17046/* 33460*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
17047 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
17048 // Src: (ld:{ *:[v4i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi16>> - Complexity = 11
17049 // Dst: (LOAD_EXTEND_S_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17050/* 33469*/ /*Scope*/ 23, /*->33493*/
17051/* 33470*/ OPC_CheckPredicate, 13, // Predicate_zextload
17052/* 33472*/ OPC_CheckPredicate, 16, // Predicate_zextloadvi16
17053/* 33474*/ OPC_CheckType, MVT::v4i32,
17054/* 33476*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17055/* 33478*/ OPC_EmitMergeInputChains1_0,
17056/* 33479*/ OPC_EmitInteger, MVT::i32, 0,
17057/* 33482*/ OPC_EmitConvertToTarget, 2,
17058/* 33484*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
17059 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
17060 // Src: (ld:{ *:[v4i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi16>> - Complexity = 11
17061 // Dst: (LOAD_EXTEND_U_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17062/* 33493*/ /*Scope*/ 23, /*->33517*/
17063/* 33494*/ OPC_CheckPredicate, 14, // Predicate_extload
17064/* 33496*/ OPC_CheckPredicate, 16, // Predicate_extloadvi16
17065/* 33498*/ OPC_CheckType, MVT::v4i32,
17066/* 33500*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17067/* 33502*/ OPC_EmitMergeInputChains1_0,
17068/* 33503*/ OPC_EmitInteger, MVT::i32, 0,
17069/* 33506*/ OPC_EmitConvertToTarget, 2,
17070/* 33508*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
17071 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
17072 // Src: (ld:{ *:[v4i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi16>> - Complexity = 11
17073 // Dst: (LOAD_EXTEND_U_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17074/* 33517*/ /*Scope*/ 23, /*->33541*/
17075/* 33518*/ OPC_CheckPredicate, 12, // Predicate_sextload
17076/* 33520*/ OPC_CheckPredicate, 17, // Predicate_sextloadvi32
17077/* 33522*/ OPC_CheckType, MVT::v2i64,
17078/* 33524*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17079/* 33526*/ OPC_EmitMergeInputChains1_0,
17080/* 33527*/ OPC_EmitInteger, MVT::i32, 0,
17081/* 33530*/ OPC_EmitConvertToTarget, 2,
17082/* 33532*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
17083 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
17084 // Src: (ld:{ *:[v2i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi32>> - Complexity = 11
17085 // Dst: (LOAD_EXTEND_S_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17086/* 33541*/ /*Scope*/ 23, /*->33565*/
17087/* 33542*/ OPC_CheckPredicate, 13, // Predicate_zextload
17088/* 33544*/ OPC_CheckPredicate, 17, // Predicate_zextloadvi32
17089/* 33546*/ OPC_CheckType, MVT::v2i64,
17090/* 33548*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17091/* 33550*/ OPC_EmitMergeInputChains1_0,
17092/* 33551*/ OPC_EmitInteger, MVT::i32, 0,
17093/* 33554*/ OPC_EmitConvertToTarget, 2,
17094/* 33556*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
17095 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
17096 // Src: (ld:{ *:[v2i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi32>> - Complexity = 11
17097 // Dst: (LOAD_EXTEND_U_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17098/* 33565*/ /*Scope*/ 23, /*->33589*/
17099/* 33566*/ OPC_CheckPredicate, 14, // Predicate_extload
17100/* 33568*/ OPC_CheckPredicate, 17, // Predicate_extloadvi32
17101/* 33570*/ OPC_CheckType, MVT::v2i64,
17102/* 33572*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17103/* 33574*/ OPC_EmitMergeInputChains1_0,
17104/* 33575*/ OPC_EmitInteger, MVT::i32, 0,
17105/* 33578*/ OPC_EmitConvertToTarget, 2,
17106/* 33580*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
17107 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
17108 // Src: (ld:{ *:[v2i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi32>> - Complexity = 11
17109 // Dst: (LOAD_EXTEND_U_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17110/* 33589*/ 0, /*End of Scope*/
17111/* 33590*/ /*SwitchType*/ 46|128,2/*302*/, MVT::i64,// ->33895
17112/* 33593*/ OPC_MoveParent,
17113/* 33594*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
17114/* 33596*/ OPC_Scope, 80, /*->33678*/ // 10 children in Scope
17115/* 33598*/ OPC_CheckPredicate, 11, // Predicate_load
17116/* 33600*/ OPC_SwitchType /*4 cases */, 17, MVT::v16i8,// ->33620
17117/* 33603*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17118/* 33605*/ OPC_EmitMergeInputChains1_0,
17119/* 33606*/ OPC_EmitInteger, MVT::i32, 0,
17120/* 33609*/ OPC_EmitConvertToTarget, 2,
17121/* 33611*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
17122 MVT::v16i8, 3/*#Ops*/, 3, 4, 1,
17123 // Src: (ld:{ *:[v16i8] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
17124 // Dst: (LOAD_V128_A64:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17125/* 33620*/ /*SwitchType*/ 17, MVT::v8i16,// ->33639
17126/* 33622*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17127/* 33624*/ OPC_EmitMergeInputChains1_0,
17128/* 33625*/ OPC_EmitInteger, MVT::i32, 0,
17129/* 33628*/ OPC_EmitConvertToTarget, 2,
17130/* 33630*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
17131 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
17132 // Src: (ld:{ *:[v8i16] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
17133 // Dst: (LOAD_V128_A64:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17134/* 33639*/ /*SwitchType*/ 17, MVT::v4i32,// ->33658
17135/* 33641*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17136/* 33643*/ OPC_EmitMergeInputChains1_0,
17137/* 33644*/ OPC_EmitInteger, MVT::i32, 0,
17138/* 33647*/ OPC_EmitConvertToTarget, 2,
17139/* 33649*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
17140 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
17141 // Src: (ld:{ *:[v4i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
17142 // Dst: (LOAD_V128_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17143/* 33658*/ /*SwitchType*/ 17, MVT::v2i64,// ->33677
17144/* 33660*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17145/* 33662*/ OPC_EmitMergeInputChains1_0,
17146/* 33663*/ OPC_EmitInteger, MVT::i32, 0,
17147/* 33666*/ OPC_EmitConvertToTarget, 2,
17148/* 33668*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
17149 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
17150 // Src: (ld:{ *:[v2i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
17151 // Dst: (LOAD_V128_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17152/* 33677*/ 0, // EndSwitchType
17153/* 33678*/ /*Scope*/ 23, /*->33702*/
17154/* 33679*/ OPC_CheckPredicate, 12, // Predicate_sextload
17155/* 33681*/ OPC_CheckPredicate, 15, // Predicate_sextloadvi8
17156/* 33683*/ OPC_CheckType, MVT::v8i16,
17157/* 33685*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17158/* 33687*/ OPC_EmitMergeInputChains1_0,
17159/* 33688*/ OPC_EmitInteger, MVT::i32, 0,
17160/* 33691*/ OPC_EmitConvertToTarget, 2,
17161/* 33693*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
17162 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
17163 // Src: (ld:{ *:[v8i16] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi8>> - Complexity = 11
17164 // Dst: (LOAD_EXTEND_S_I16x8_A64:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17165/* 33702*/ /*Scope*/ 23, /*->33726*/
17166/* 33703*/ OPC_CheckPredicate, 13, // Predicate_zextload
17167/* 33705*/ OPC_CheckPredicate, 15, // Predicate_zextloadvi8
17168/* 33707*/ OPC_CheckType, MVT::v8i16,
17169/* 33709*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17170/* 33711*/ OPC_EmitMergeInputChains1_0,
17171/* 33712*/ OPC_EmitInteger, MVT::i32, 0,
17172/* 33715*/ OPC_EmitConvertToTarget, 2,
17173/* 33717*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
17174 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
17175 // Src: (ld:{ *:[v8i16] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi8>> - Complexity = 11
17176 // Dst: (LOAD_EXTEND_U_I16x8_A64:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17177/* 33726*/ /*Scope*/ 23, /*->33750*/
17178/* 33727*/ OPC_CheckPredicate, 14, // Predicate_extload
17179/* 33729*/ OPC_CheckPredicate, 15, // Predicate_extloadvi8
17180/* 33731*/ OPC_CheckType, MVT::v8i16,
17181/* 33733*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17182/* 33735*/ OPC_EmitMergeInputChains1_0,
17183/* 33736*/ OPC_EmitInteger, MVT::i32, 0,
17184/* 33739*/ OPC_EmitConvertToTarget, 2,
17185/* 33741*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
17186 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
17187 // Src: (ld:{ *:[v8i16] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi8>> - Complexity = 11
17188 // Dst: (LOAD_EXTEND_U_I16x8_A64:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17189/* 33750*/ /*Scope*/ 23, /*->33774*/
17190/* 33751*/ OPC_CheckPredicate, 12, // Predicate_sextload
17191/* 33753*/ OPC_CheckPredicate, 16, // Predicate_sextloadvi16
17192/* 33755*/ OPC_CheckType, MVT::v4i32,
17193/* 33757*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17194/* 33759*/ OPC_EmitMergeInputChains1_0,
17195/* 33760*/ OPC_EmitInteger, MVT::i32, 0,
17196/* 33763*/ OPC_EmitConvertToTarget, 2,
17197/* 33765*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
17198 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
17199 // Src: (ld:{ *:[v4i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi16>> - Complexity = 11
17200 // Dst: (LOAD_EXTEND_S_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17201/* 33774*/ /*Scope*/ 23, /*->33798*/
17202/* 33775*/ OPC_CheckPredicate, 13, // Predicate_zextload
17203/* 33777*/ OPC_CheckPredicate, 16, // Predicate_zextloadvi16
17204/* 33779*/ OPC_CheckType, MVT::v4i32,
17205/* 33781*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17206/* 33783*/ OPC_EmitMergeInputChains1_0,
17207/* 33784*/ OPC_EmitInteger, MVT::i32, 0,
17208/* 33787*/ OPC_EmitConvertToTarget, 2,
17209/* 33789*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
17210 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
17211 // Src: (ld:{ *:[v4i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi16>> - Complexity = 11
17212 // Dst: (LOAD_EXTEND_U_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17213/* 33798*/ /*Scope*/ 23, /*->33822*/
17214/* 33799*/ OPC_CheckPredicate, 14, // Predicate_extload
17215/* 33801*/ OPC_CheckPredicate, 16, // Predicate_extloadvi16
17216/* 33803*/ OPC_CheckType, MVT::v4i32,
17217/* 33805*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17218/* 33807*/ OPC_EmitMergeInputChains1_0,
17219/* 33808*/ OPC_EmitInteger, MVT::i32, 0,
17220/* 33811*/ OPC_EmitConvertToTarget, 2,
17221/* 33813*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
17222 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
17223 // Src: (ld:{ *:[v4i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi16>> - Complexity = 11
17224 // Dst: (LOAD_EXTEND_U_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17225/* 33822*/ /*Scope*/ 23, /*->33846*/
17226/* 33823*/ OPC_CheckPredicate, 12, // Predicate_sextload
17227/* 33825*/ OPC_CheckPredicate, 17, // Predicate_sextloadvi32
17228/* 33827*/ OPC_CheckType, MVT::v2i64,
17229/* 33829*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17230/* 33831*/ OPC_EmitMergeInputChains1_0,
17231/* 33832*/ OPC_EmitInteger, MVT::i32, 0,
17232/* 33835*/ OPC_EmitConvertToTarget, 2,
17233/* 33837*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
17234 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
17235 // Src: (ld:{ *:[v2i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi32>> - Complexity = 11
17236 // Dst: (LOAD_EXTEND_S_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17237/* 33846*/ /*Scope*/ 23, /*->33870*/
17238/* 33847*/ OPC_CheckPredicate, 13, // Predicate_zextload
17239/* 33849*/ OPC_CheckPredicate, 17, // Predicate_zextloadvi32
17240/* 33851*/ OPC_CheckType, MVT::v2i64,
17241/* 33853*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17242/* 33855*/ OPC_EmitMergeInputChains1_0,
17243/* 33856*/ OPC_EmitInteger, MVT::i32, 0,
17244/* 33859*/ OPC_EmitConvertToTarget, 2,
17245/* 33861*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
17246 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
17247 // Src: (ld:{ *:[v2i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi32>> - Complexity = 11
17248 // Dst: (LOAD_EXTEND_U_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17249/* 33870*/ /*Scope*/ 23, /*->33894*/
17250/* 33871*/ OPC_CheckPredicate, 14, // Predicate_extload
17251/* 33873*/ OPC_CheckPredicate, 17, // Predicate_extloadvi32
17252/* 33875*/ OPC_CheckType, MVT::v2i64,
17253/* 33877*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17254/* 33879*/ OPC_EmitMergeInputChains1_0,
17255/* 33880*/ OPC_EmitInteger, MVT::i32, 0,
17256/* 33883*/ OPC_EmitConvertToTarget, 2,
17257/* 33885*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
17258 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
17259 // Src: (ld:{ *:[v2i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi32>> - Complexity = 11
17260 // Dst: (LOAD_EXTEND_U_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17261/* 33894*/ 0, /*End of Scope*/
17262/* 33895*/ 0, // EndSwitchType
17263/* 33896*/ /*SwitchOpcode*/ 109|128,4/*621*/, TARGET_VAL(ISD::OR),// ->34521
17264/* 33900*/ OPC_RecordChild0, // #1 = $addr
17265/* 33901*/ OPC_RecordChild1, // #2 = $off
17266/* 33902*/ OPC_MoveChild1,
17267/* 33903*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17268/* 33906*/ OPC_MoveParent,
17269/* 33907*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
17270/* 33909*/ OPC_SwitchType /*2 cases */, 46|128,2/*302*/, MVT::i32,// ->34215
17271/* 33913*/ OPC_MoveParent,
17272/* 33914*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
17273/* 33916*/ OPC_Scope, 80, /*->33998*/ // 10 children in Scope
17274/* 33918*/ OPC_CheckPredicate, 11, // Predicate_load
17275/* 33920*/ OPC_SwitchType /*4 cases */, 17, MVT::v16i8,// ->33940
17276/* 33923*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17277/* 33925*/ OPC_EmitMergeInputChains1_0,
17278/* 33926*/ OPC_EmitInteger, MVT::i32, 0,
17279/* 33929*/ OPC_EmitConvertToTarget, 2,
17280/* 33931*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
17281 MVT::v16i8, 3/*#Ops*/, 3, 4, 1,
17282 // Src: (ld:{ *:[v16i8] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
17283 // Dst: (LOAD_V128_A32:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17284/* 33940*/ /*SwitchType*/ 17, MVT::v8i16,// ->33959
17285/* 33942*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17286/* 33944*/ OPC_EmitMergeInputChains1_0,
17287/* 33945*/ OPC_EmitInteger, MVT::i32, 0,
17288/* 33948*/ OPC_EmitConvertToTarget, 2,
17289/* 33950*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
17290 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
17291 // Src: (ld:{ *:[v8i16] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
17292 // Dst: (LOAD_V128_A32:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17293/* 33959*/ /*SwitchType*/ 17, MVT::v4i32,// ->33978
17294/* 33961*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17295/* 33963*/ OPC_EmitMergeInputChains1_0,
17296/* 33964*/ OPC_EmitInteger, MVT::i32, 0,
17297/* 33967*/ OPC_EmitConvertToTarget, 2,
17298/* 33969*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
17299 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
17300 // Src: (ld:{ *:[v4i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
17301 // Dst: (LOAD_V128_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17302/* 33978*/ /*SwitchType*/ 17, MVT::v2i64,// ->33997
17303/* 33980*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17304/* 33982*/ OPC_EmitMergeInputChains1_0,
17305/* 33983*/ OPC_EmitInteger, MVT::i32, 0,
17306/* 33986*/ OPC_EmitConvertToTarget, 2,
17307/* 33988*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
17308 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
17309 // Src: (ld:{ *:[v2i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
17310 // Dst: (LOAD_V128_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17311/* 33997*/ 0, // EndSwitchType
17312/* 33998*/ /*Scope*/ 23, /*->34022*/
17313/* 33999*/ OPC_CheckPredicate, 12, // Predicate_sextload
17314/* 34001*/ OPC_CheckPredicate, 15, // Predicate_sextloadvi8
17315/* 34003*/ OPC_CheckType, MVT::v8i16,
17316/* 34005*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17317/* 34007*/ OPC_EmitMergeInputChains1_0,
17318/* 34008*/ OPC_EmitInteger, MVT::i32, 0,
17319/* 34011*/ OPC_EmitConvertToTarget, 2,
17320/* 34013*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
17321 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
17322 // Src: (ld:{ *:[v8i16] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi8>> - Complexity = 11
17323 // Dst: (LOAD_EXTEND_S_I16x8_A32:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17324/* 34022*/ /*Scope*/ 23, /*->34046*/
17325/* 34023*/ OPC_CheckPredicate, 13, // Predicate_zextload
17326/* 34025*/ OPC_CheckPredicate, 15, // Predicate_zextloadvi8
17327/* 34027*/ OPC_CheckType, MVT::v8i16,
17328/* 34029*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17329/* 34031*/ OPC_EmitMergeInputChains1_0,
17330/* 34032*/ OPC_EmitInteger, MVT::i32, 0,
17331/* 34035*/ OPC_EmitConvertToTarget, 2,
17332/* 34037*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
17333 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
17334 // Src: (ld:{ *:[v8i16] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi8>> - Complexity = 11
17335 // Dst: (LOAD_EXTEND_U_I16x8_A32:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17336/* 34046*/ /*Scope*/ 23, /*->34070*/
17337/* 34047*/ OPC_CheckPredicate, 14, // Predicate_extload
17338/* 34049*/ OPC_CheckPredicate, 15, // Predicate_extloadvi8
17339/* 34051*/ OPC_CheckType, MVT::v8i16,
17340/* 34053*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17341/* 34055*/ OPC_EmitMergeInputChains1_0,
17342/* 34056*/ OPC_EmitInteger, MVT::i32, 0,
17343/* 34059*/ OPC_EmitConvertToTarget, 2,
17344/* 34061*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
17345 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
17346 // Src: (ld:{ *:[v8i16] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi8>> - Complexity = 11
17347 // Dst: (LOAD_EXTEND_U_I16x8_A32:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17348/* 34070*/ /*Scope*/ 23, /*->34094*/
17349/* 34071*/ OPC_CheckPredicate, 12, // Predicate_sextload
17350/* 34073*/ OPC_CheckPredicate, 16, // Predicate_sextloadvi16
17351/* 34075*/ OPC_CheckType, MVT::v4i32,
17352/* 34077*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17353/* 34079*/ OPC_EmitMergeInputChains1_0,
17354/* 34080*/ OPC_EmitInteger, MVT::i32, 0,
17355/* 34083*/ OPC_EmitConvertToTarget, 2,
17356/* 34085*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
17357 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
17358 // Src: (ld:{ *:[v4i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi16>> - Complexity = 11
17359 // Dst: (LOAD_EXTEND_S_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17360/* 34094*/ /*Scope*/ 23, /*->34118*/
17361/* 34095*/ OPC_CheckPredicate, 13, // Predicate_zextload
17362/* 34097*/ OPC_CheckPredicate, 16, // Predicate_zextloadvi16
17363/* 34099*/ OPC_CheckType, MVT::v4i32,
17364/* 34101*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17365/* 34103*/ OPC_EmitMergeInputChains1_0,
17366/* 34104*/ OPC_EmitInteger, MVT::i32, 0,
17367/* 34107*/ OPC_EmitConvertToTarget, 2,
17368/* 34109*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
17369 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
17370 // Src: (ld:{ *:[v4i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi16>> - Complexity = 11
17371 // Dst: (LOAD_EXTEND_U_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17372/* 34118*/ /*Scope*/ 23, /*->34142*/
17373/* 34119*/ OPC_CheckPredicate, 14, // Predicate_extload
17374/* 34121*/ OPC_CheckPredicate, 16, // Predicate_extloadvi16
17375/* 34123*/ OPC_CheckType, MVT::v4i32,
17376/* 34125*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17377/* 34127*/ OPC_EmitMergeInputChains1_0,
17378/* 34128*/ OPC_EmitInteger, MVT::i32, 0,
17379/* 34131*/ OPC_EmitConvertToTarget, 2,
17380/* 34133*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
17381 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
17382 // Src: (ld:{ *:[v4i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi16>> - Complexity = 11
17383 // Dst: (LOAD_EXTEND_U_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17384/* 34142*/ /*Scope*/ 23, /*->34166*/
17385/* 34143*/ OPC_CheckPredicate, 12, // Predicate_sextload
17386/* 34145*/ OPC_CheckPredicate, 17, // Predicate_sextloadvi32
17387/* 34147*/ OPC_CheckType, MVT::v2i64,
17388/* 34149*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17389/* 34151*/ OPC_EmitMergeInputChains1_0,
17390/* 34152*/ OPC_EmitInteger, MVT::i32, 0,
17391/* 34155*/ OPC_EmitConvertToTarget, 2,
17392/* 34157*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
17393 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
17394 // Src: (ld:{ *:[v2i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi32>> - Complexity = 11
17395 // Dst: (LOAD_EXTEND_S_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17396/* 34166*/ /*Scope*/ 23, /*->34190*/
17397/* 34167*/ OPC_CheckPredicate, 13, // Predicate_zextload
17398/* 34169*/ OPC_CheckPredicate, 17, // Predicate_zextloadvi32
17399/* 34171*/ OPC_CheckType, MVT::v2i64,
17400/* 34173*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17401/* 34175*/ OPC_EmitMergeInputChains1_0,
17402/* 34176*/ OPC_EmitInteger, MVT::i32, 0,
17403/* 34179*/ OPC_EmitConvertToTarget, 2,
17404/* 34181*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
17405 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
17406 // Src: (ld:{ *:[v2i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi32>> - Complexity = 11
17407 // Dst: (LOAD_EXTEND_U_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17408/* 34190*/ /*Scope*/ 23, /*->34214*/
17409/* 34191*/ OPC_CheckPredicate, 14, // Predicate_extload
17410/* 34193*/ OPC_CheckPredicate, 17, // Predicate_extloadvi32
17411/* 34195*/ OPC_CheckType, MVT::v2i64,
17412/* 34197*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17413/* 34199*/ OPC_EmitMergeInputChains1_0,
17414/* 34200*/ OPC_EmitInteger, MVT::i32, 0,
17415/* 34203*/ OPC_EmitConvertToTarget, 2,
17416/* 34205*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
17417 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
17418 // Src: (ld:{ *:[v2i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi32>> - Complexity = 11
17419 // Dst: (LOAD_EXTEND_U_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17420/* 34214*/ 0, /*End of Scope*/
17421/* 34215*/ /*SwitchType*/ 46|128,2/*302*/, MVT::i64,// ->34520
17422/* 34218*/ OPC_MoveParent,
17423/* 34219*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
17424/* 34221*/ OPC_Scope, 80, /*->34303*/ // 10 children in Scope
17425/* 34223*/ OPC_CheckPredicate, 11, // Predicate_load
17426/* 34225*/ OPC_SwitchType /*4 cases */, 17, MVT::v16i8,// ->34245
17427/* 34228*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17428/* 34230*/ OPC_EmitMergeInputChains1_0,
17429/* 34231*/ OPC_EmitInteger, MVT::i32, 0,
17430/* 34234*/ OPC_EmitConvertToTarget, 2,
17431/* 34236*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
17432 MVT::v16i8, 3/*#Ops*/, 3, 4, 1,
17433 // Src: (ld:{ *:[v16i8] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
17434 // Dst: (LOAD_V128_A64:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17435/* 34245*/ /*SwitchType*/ 17, MVT::v8i16,// ->34264
17436/* 34247*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17437/* 34249*/ OPC_EmitMergeInputChains1_0,
17438/* 34250*/ OPC_EmitInteger, MVT::i32, 0,
17439/* 34253*/ OPC_EmitConvertToTarget, 2,
17440/* 34255*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
17441 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
17442 // Src: (ld:{ *:[v8i16] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
17443 // Dst: (LOAD_V128_A64:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17444/* 34264*/ /*SwitchType*/ 17, MVT::v4i32,// ->34283
17445/* 34266*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17446/* 34268*/ OPC_EmitMergeInputChains1_0,
17447/* 34269*/ OPC_EmitInteger, MVT::i32, 0,
17448/* 34272*/ OPC_EmitConvertToTarget, 2,
17449/* 34274*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
17450 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
17451 // Src: (ld:{ *:[v4i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
17452 // Dst: (LOAD_V128_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17453/* 34283*/ /*SwitchType*/ 17, MVT::v2i64,// ->34302
17454/* 34285*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17455/* 34287*/ OPC_EmitMergeInputChains1_0,
17456/* 34288*/ OPC_EmitInteger, MVT::i32, 0,
17457/* 34291*/ OPC_EmitConvertToTarget, 2,
17458/* 34293*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
17459 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
17460 // Src: (ld:{ *:[v2i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
17461 // Dst: (LOAD_V128_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17462/* 34302*/ 0, // EndSwitchType
17463/* 34303*/ /*Scope*/ 23, /*->34327*/
17464/* 34304*/ OPC_CheckPredicate, 12, // Predicate_sextload
17465/* 34306*/ OPC_CheckPredicate, 15, // Predicate_sextloadvi8
17466/* 34308*/ OPC_CheckType, MVT::v8i16,
17467/* 34310*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17468/* 34312*/ OPC_EmitMergeInputChains1_0,
17469/* 34313*/ OPC_EmitInteger, MVT::i32, 0,
17470/* 34316*/ OPC_EmitConvertToTarget, 2,
17471/* 34318*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
17472 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
17473 // Src: (ld:{ *:[v8i16] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi8>> - Complexity = 11
17474 // Dst: (LOAD_EXTEND_S_I16x8_A64:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17475/* 34327*/ /*Scope*/ 23, /*->34351*/
17476/* 34328*/ OPC_CheckPredicate, 13, // Predicate_zextload
17477/* 34330*/ OPC_CheckPredicate, 15, // Predicate_zextloadvi8
17478/* 34332*/ OPC_CheckType, MVT::v8i16,
17479/* 34334*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17480/* 34336*/ OPC_EmitMergeInputChains1_0,
17481/* 34337*/ OPC_EmitInteger, MVT::i32, 0,
17482/* 34340*/ OPC_EmitConvertToTarget, 2,
17483/* 34342*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
17484 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
17485 // Src: (ld:{ *:[v8i16] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi8>> - Complexity = 11
17486 // Dst: (LOAD_EXTEND_U_I16x8_A64:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17487/* 34351*/ /*Scope*/ 23, /*->34375*/
17488/* 34352*/ OPC_CheckPredicate, 14, // Predicate_extload
17489/* 34354*/ OPC_CheckPredicate, 15, // Predicate_extloadvi8
17490/* 34356*/ OPC_CheckType, MVT::v8i16,
17491/* 34358*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17492/* 34360*/ OPC_EmitMergeInputChains1_0,
17493/* 34361*/ OPC_EmitInteger, MVT::i32, 0,
17494/* 34364*/ OPC_EmitConvertToTarget, 2,
17495/* 34366*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
17496 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
17497 // Src: (ld:{ *:[v8i16] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi8>> - Complexity = 11
17498 // Dst: (LOAD_EXTEND_U_I16x8_A64:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17499/* 34375*/ /*Scope*/ 23, /*->34399*/
17500/* 34376*/ OPC_CheckPredicate, 12, // Predicate_sextload
17501/* 34378*/ OPC_CheckPredicate, 16, // Predicate_sextloadvi16
17502/* 34380*/ OPC_CheckType, MVT::v4i32,
17503/* 34382*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17504/* 34384*/ OPC_EmitMergeInputChains1_0,
17505/* 34385*/ OPC_EmitInteger, MVT::i32, 0,
17506/* 34388*/ OPC_EmitConvertToTarget, 2,
17507/* 34390*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
17508 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
17509 // Src: (ld:{ *:[v4i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi16>> - Complexity = 11
17510 // Dst: (LOAD_EXTEND_S_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17511/* 34399*/ /*Scope*/ 23, /*->34423*/
17512/* 34400*/ OPC_CheckPredicate, 13, // Predicate_zextload
17513/* 34402*/ OPC_CheckPredicate, 16, // Predicate_zextloadvi16
17514/* 34404*/ OPC_CheckType, MVT::v4i32,
17515/* 34406*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17516/* 34408*/ OPC_EmitMergeInputChains1_0,
17517/* 34409*/ OPC_EmitInteger, MVT::i32, 0,
17518/* 34412*/ OPC_EmitConvertToTarget, 2,
17519/* 34414*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
17520 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
17521 // Src: (ld:{ *:[v4i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi16>> - Complexity = 11
17522 // Dst: (LOAD_EXTEND_U_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17523/* 34423*/ /*Scope*/ 23, /*->34447*/
17524/* 34424*/ OPC_CheckPredicate, 14, // Predicate_extload
17525/* 34426*/ OPC_CheckPredicate, 16, // Predicate_extloadvi16
17526/* 34428*/ OPC_CheckType, MVT::v4i32,
17527/* 34430*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17528/* 34432*/ OPC_EmitMergeInputChains1_0,
17529/* 34433*/ OPC_EmitInteger, MVT::i32, 0,
17530/* 34436*/ OPC_EmitConvertToTarget, 2,
17531/* 34438*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
17532 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
17533 // Src: (ld:{ *:[v4i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi16>> - Complexity = 11
17534 // Dst: (LOAD_EXTEND_U_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17535/* 34447*/ /*Scope*/ 23, /*->34471*/
17536/* 34448*/ OPC_CheckPredicate, 12, // Predicate_sextload
17537/* 34450*/ OPC_CheckPredicate, 17, // Predicate_sextloadvi32
17538/* 34452*/ OPC_CheckType, MVT::v2i64,
17539/* 34454*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17540/* 34456*/ OPC_EmitMergeInputChains1_0,
17541/* 34457*/ OPC_EmitInteger, MVT::i32, 0,
17542/* 34460*/ OPC_EmitConvertToTarget, 2,
17543/* 34462*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
17544 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
17545 // Src: (ld:{ *:[v2i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi32>> - Complexity = 11
17546 // Dst: (LOAD_EXTEND_S_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17547/* 34471*/ /*Scope*/ 23, /*->34495*/
17548/* 34472*/ OPC_CheckPredicate, 13, // Predicate_zextload
17549/* 34474*/ OPC_CheckPredicate, 17, // Predicate_zextloadvi32
17550/* 34476*/ OPC_CheckType, MVT::v2i64,
17551/* 34478*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17552/* 34480*/ OPC_EmitMergeInputChains1_0,
17553/* 34481*/ OPC_EmitInteger, MVT::i32, 0,
17554/* 34484*/ OPC_EmitConvertToTarget, 2,
17555/* 34486*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
17556 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
17557 // Src: (ld:{ *:[v2i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi32>> - Complexity = 11
17558 // Dst: (LOAD_EXTEND_U_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17559/* 34495*/ /*Scope*/ 23, /*->34519*/
17560/* 34496*/ OPC_CheckPredicate, 14, // Predicate_extload
17561/* 34498*/ OPC_CheckPredicate, 17, // Predicate_extloadvi32
17562/* 34500*/ OPC_CheckType, MVT::v2i64,
17563/* 34502*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17564/* 34504*/ OPC_EmitMergeInputChains1_0,
17565/* 34505*/ OPC_EmitInteger, MVT::i32, 0,
17566/* 34508*/ OPC_EmitConvertToTarget, 2,
17567/* 34510*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
17568 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
17569 // Src: (ld:{ *:[v2i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi32>> - Complexity = 11
17570 // Dst: (LOAD_EXTEND_U_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
17571/* 34519*/ 0, /*End of Scope*/
17572/* 34520*/ 0, // EndSwitchType
17573/* 34521*/ /*SwitchOpcode*/ 22|128,6/*790*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->35315
17574/* 34525*/ OPC_RecordChild0, // #1 = $off
17575/* 34526*/ OPC_MoveChild0,
17576/* 34527*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
17577/* 34530*/ OPC_MoveParent,
17578/* 34531*/ OPC_MoveParent,
17579/* 34532*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
17580/* 34534*/ OPC_Scope, 100|128,1/*228*/, /*->34765*/ // 10 children in Scope
17581/* 34537*/ OPC_CheckPredicate, 11, // Predicate_load
17582/* 34539*/ OPC_SwitchType /*4 cases */, 54, MVT::v16i8,// ->34596
17583/* 34542*/ OPC_Scope, 25, /*->34569*/ // 2 children in Scope
17584/* 34544*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17585/* 34546*/ OPC_EmitMergeInputChains1_0,
17586/* 34547*/ OPC_EmitInteger, MVT::i32, 0,
17587/* 34550*/ OPC_EmitInteger, MVT::i32, 0,
17588/* 34553*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17589 MVT::i32, 1/*#Ops*/, 3, // Results = #4
17590/* 34560*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
17591 MVT::v16i8, 3/*#Ops*/, 2, 1, 4,
17592 // Src: (ld:{ *:[v16i8] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
17593 // Dst: (LOAD_V128_A32:{ *:[v16i8] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17594/* 34569*/ /*Scope*/ 25, /*->34595*/
17595/* 34570*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17596/* 34572*/ OPC_EmitMergeInputChains1_0,
17597/* 34573*/ OPC_EmitInteger, MVT::i32, 0,
17598/* 34576*/ OPC_EmitInteger, MVT::i64, 0,
17599/* 34579*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
17600 MVT::i64, 1/*#Ops*/, 3, // Results = #4
17601/* 34586*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
17602 MVT::v16i8, 3/*#Ops*/, 2, 1, 4,
17603 // Src: (ld:{ *:[v16i8] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
17604 // Dst: (LOAD_V128_A64:{ *:[v16i8] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
17605/* 34595*/ 0, /*End of Scope*/
17606/* 34596*/ /*SwitchType*/ 54, MVT::v8i16,// ->34652
17607/* 34598*/ OPC_Scope, 25, /*->34625*/ // 2 children in Scope
17608/* 34600*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17609/* 34602*/ OPC_EmitMergeInputChains1_0,
17610/* 34603*/ OPC_EmitInteger, MVT::i32, 0,
17611/* 34606*/ OPC_EmitInteger, MVT::i32, 0,
17612/* 34609*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17613 MVT::i32, 1/*#Ops*/, 3, // Results = #4
17614/* 34616*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
17615 MVT::v8i16, 3/*#Ops*/, 2, 1, 4,
17616 // Src: (ld:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
17617 // Dst: (LOAD_V128_A32:{ *:[v8i16] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17618/* 34625*/ /*Scope*/ 25, /*->34651*/
17619/* 34626*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17620/* 34628*/ OPC_EmitMergeInputChains1_0,
17621/* 34629*/ OPC_EmitInteger, MVT::i32, 0,
17622/* 34632*/ OPC_EmitInteger, MVT::i64, 0,
17623/* 34635*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
17624 MVT::i64, 1/*#Ops*/, 3, // Results = #4
17625/* 34642*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
17626 MVT::v8i16, 3/*#Ops*/, 2, 1, 4,
17627 // Src: (ld:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
17628 // Dst: (LOAD_V128_A64:{ *:[v8i16] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
17629/* 34651*/ 0, /*End of Scope*/
17630/* 34652*/ /*SwitchType*/ 54, MVT::v4i32,// ->34708
17631/* 34654*/ OPC_Scope, 25, /*->34681*/ // 2 children in Scope
17632/* 34656*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17633/* 34658*/ OPC_EmitMergeInputChains1_0,
17634/* 34659*/ OPC_EmitInteger, MVT::i32, 0,
17635/* 34662*/ OPC_EmitInteger, MVT::i32, 0,
17636/* 34665*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17637 MVT::i32, 1/*#Ops*/, 3, // Results = #4
17638/* 34672*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
17639 MVT::v4i32, 3/*#Ops*/, 2, 1, 4,
17640 // Src: (ld:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
17641 // Dst: (LOAD_V128_A32:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17642/* 34681*/ /*Scope*/ 25, /*->34707*/
17643/* 34682*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17644/* 34684*/ OPC_EmitMergeInputChains1_0,
17645/* 34685*/ OPC_EmitInteger, MVT::i32, 0,
17646/* 34688*/ OPC_EmitInteger, MVT::i64, 0,
17647/* 34691*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
17648 MVT::i64, 1/*#Ops*/, 3, // Results = #4
17649/* 34698*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
17650 MVT::v4i32, 3/*#Ops*/, 2, 1, 4,
17651 // Src: (ld:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
17652 // Dst: (LOAD_V128_A64:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
17653/* 34707*/ 0, /*End of Scope*/
17654/* 34708*/ /*SwitchType*/ 54, MVT::v2i64,// ->34764
17655/* 34710*/ OPC_Scope, 25, /*->34737*/ // 2 children in Scope
17656/* 34712*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17657/* 34714*/ OPC_EmitMergeInputChains1_0,
17658/* 34715*/ OPC_EmitInteger, MVT::i32, 0,
17659/* 34718*/ OPC_EmitInteger, MVT::i32, 0,
17660/* 34721*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17661 MVT::i32, 1/*#Ops*/, 3, // Results = #4
17662/* 34728*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
17663 MVT::v2i64, 3/*#Ops*/, 2, 1, 4,
17664 // Src: (ld:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
17665 // Dst: (LOAD_V128_A32:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17666/* 34737*/ /*Scope*/ 25, /*->34763*/
17667/* 34738*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17668/* 34740*/ OPC_EmitMergeInputChains1_0,
17669/* 34741*/ OPC_EmitInteger, MVT::i32, 0,
17670/* 34744*/ OPC_EmitInteger, MVT::i64, 0,
17671/* 34747*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
17672 MVT::i64, 1/*#Ops*/, 3, // Results = #4
17673/* 34754*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
17674 MVT::v2i64, 3/*#Ops*/, 2, 1, 4,
17675 // Src: (ld:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
17676 // Dst: (LOAD_V128_A64:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
17677/* 34763*/ 0, /*End of Scope*/
17678/* 34764*/ 0, // EndSwitchType
17679/* 34765*/ /*Scope*/ 60, /*->34826*/
17680/* 34766*/ OPC_CheckPredicate, 12, // Predicate_sextload
17681/* 34768*/ OPC_CheckPredicate, 15, // Predicate_sextloadvi8
17682/* 34770*/ OPC_CheckType, MVT::v8i16,
17683/* 34772*/ OPC_Scope, 25, /*->34799*/ // 2 children in Scope
17684/* 34774*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17685/* 34776*/ OPC_EmitMergeInputChains1_0,
17686/* 34777*/ OPC_EmitInteger, MVT::i32, 0,
17687/* 34780*/ OPC_EmitInteger, MVT::i32, 0,
17688/* 34783*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17689 MVT::i32, 1/*#Ops*/, 3, // Results = #4
17690/* 34790*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
17691 MVT::v8i16, 3/*#Ops*/, 2, 1, 4,
17692 // Src: (ld:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi8>> - Complexity = 10
17693 // Dst: (LOAD_EXTEND_S_I16x8_A32:{ *:[v8i16] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17694/* 34799*/ /*Scope*/ 25, /*->34825*/
17695/* 34800*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17696/* 34802*/ OPC_EmitMergeInputChains1_0,
17697/* 34803*/ OPC_EmitInteger, MVT::i32, 0,
17698/* 34806*/ OPC_EmitInteger, MVT::i64, 0,
17699/* 34809*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
17700 MVT::i64, 1/*#Ops*/, 3, // Results = #4
17701/* 34816*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
17702 MVT::v8i16, 3/*#Ops*/, 2, 1, 4,
17703 // Src: (ld:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi8>> - Complexity = 10
17704 // Dst: (LOAD_EXTEND_S_I16x8_A64:{ *:[v8i16] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
17705/* 34825*/ 0, /*End of Scope*/
17706/* 34826*/ /*Scope*/ 60, /*->34887*/
17707/* 34827*/ OPC_CheckPredicate, 13, // Predicate_zextload
17708/* 34829*/ OPC_CheckPredicate, 15, // Predicate_zextloadvi8
17709/* 34831*/ OPC_CheckType, MVT::v8i16,
17710/* 34833*/ OPC_Scope, 25, /*->34860*/ // 2 children in Scope
17711/* 34835*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17712/* 34837*/ OPC_EmitMergeInputChains1_0,
17713/* 34838*/ OPC_EmitInteger, MVT::i32, 0,
17714/* 34841*/ OPC_EmitInteger, MVT::i32, 0,
17715/* 34844*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17716 MVT::i32, 1/*#Ops*/, 3, // Results = #4
17717/* 34851*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
17718 MVT::v8i16, 3/*#Ops*/, 2, 1, 4,
17719 // Src: (ld:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi8>> - Complexity = 10
17720 // Dst: (LOAD_EXTEND_U_I16x8_A32:{ *:[v8i16] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17721/* 34860*/ /*Scope*/ 25, /*->34886*/
17722/* 34861*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17723/* 34863*/ OPC_EmitMergeInputChains1_0,
17724/* 34864*/ OPC_EmitInteger, MVT::i32, 0,
17725/* 34867*/ OPC_EmitInteger, MVT::i64, 0,
17726/* 34870*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
17727 MVT::i64, 1/*#Ops*/, 3, // Results = #4
17728/* 34877*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
17729 MVT::v8i16, 3/*#Ops*/, 2, 1, 4,
17730 // Src: (ld:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi8>> - Complexity = 10
17731 // Dst: (LOAD_EXTEND_U_I16x8_A64:{ *:[v8i16] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
17732/* 34886*/ 0, /*End of Scope*/
17733/* 34887*/ /*Scope*/ 60, /*->34948*/
17734/* 34888*/ OPC_CheckPredicate, 14, // Predicate_extload
17735/* 34890*/ OPC_CheckPredicate, 15, // Predicate_extloadvi8
17736/* 34892*/ OPC_CheckType, MVT::v8i16,
17737/* 34894*/ OPC_Scope, 25, /*->34921*/ // 2 children in Scope
17738/* 34896*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17739/* 34898*/ OPC_EmitMergeInputChains1_0,
17740/* 34899*/ OPC_EmitInteger, MVT::i32, 0,
17741/* 34902*/ OPC_EmitInteger, MVT::i32, 0,
17742/* 34905*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17743 MVT::i32, 1/*#Ops*/, 3, // Results = #4
17744/* 34912*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
17745 MVT::v8i16, 3/*#Ops*/, 2, 1, 4,
17746 // Src: (ld:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi8>> - Complexity = 10
17747 // Dst: (LOAD_EXTEND_U_I16x8_A32:{ *:[v8i16] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17748/* 34921*/ /*Scope*/ 25, /*->34947*/
17749/* 34922*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17750/* 34924*/ OPC_EmitMergeInputChains1_0,
17751/* 34925*/ OPC_EmitInteger, MVT::i32, 0,
17752/* 34928*/ OPC_EmitInteger, MVT::i64, 0,
17753/* 34931*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
17754 MVT::i64, 1/*#Ops*/, 3, // Results = #4
17755/* 34938*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
17756 MVT::v8i16, 3/*#Ops*/, 2, 1, 4,
17757 // Src: (ld:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi8>> - Complexity = 10
17758 // Dst: (LOAD_EXTEND_U_I16x8_A64:{ *:[v8i16] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
17759/* 34947*/ 0, /*End of Scope*/
17760/* 34948*/ /*Scope*/ 60, /*->35009*/
17761/* 34949*/ OPC_CheckPredicate, 12, // Predicate_sextload
17762/* 34951*/ OPC_CheckPredicate, 16, // Predicate_sextloadvi16
17763/* 34953*/ OPC_CheckType, MVT::v4i32,
17764/* 34955*/ OPC_Scope, 25, /*->34982*/ // 2 children in Scope
17765/* 34957*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17766/* 34959*/ OPC_EmitMergeInputChains1_0,
17767/* 34960*/ OPC_EmitInteger, MVT::i32, 0,
17768/* 34963*/ OPC_EmitInteger, MVT::i32, 0,
17769/* 34966*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17770 MVT::i32, 1/*#Ops*/, 3, // Results = #4
17771/* 34973*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
17772 MVT::v4i32, 3/*#Ops*/, 2, 1, 4,
17773 // Src: (ld:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi16>> - Complexity = 10
17774 // Dst: (LOAD_EXTEND_S_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17775/* 34982*/ /*Scope*/ 25, /*->35008*/
17776/* 34983*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17777/* 34985*/ OPC_EmitMergeInputChains1_0,
17778/* 34986*/ OPC_EmitInteger, MVT::i32, 0,
17779/* 34989*/ OPC_EmitInteger, MVT::i64, 0,
17780/* 34992*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
17781 MVT::i64, 1/*#Ops*/, 3, // Results = #4
17782/* 34999*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
17783 MVT::v4i32, 3/*#Ops*/, 2, 1, 4,
17784 // Src: (ld:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi16>> - Complexity = 10
17785 // Dst: (LOAD_EXTEND_S_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
17786/* 35008*/ 0, /*End of Scope*/
17787/* 35009*/ /*Scope*/ 60, /*->35070*/
17788/* 35010*/ OPC_CheckPredicate, 13, // Predicate_zextload
17789/* 35012*/ OPC_CheckPredicate, 16, // Predicate_zextloadvi16
17790/* 35014*/ OPC_CheckType, MVT::v4i32,
17791/* 35016*/ OPC_Scope, 25, /*->35043*/ // 2 children in Scope
17792/* 35018*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17793/* 35020*/ OPC_EmitMergeInputChains1_0,
17794/* 35021*/ OPC_EmitInteger, MVT::i32, 0,
17795/* 35024*/ OPC_EmitInteger, MVT::i32, 0,
17796/* 35027*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17797 MVT::i32, 1/*#Ops*/, 3, // Results = #4
17798/* 35034*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
17799 MVT::v4i32, 3/*#Ops*/, 2, 1, 4,
17800 // Src: (ld:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi16>> - Complexity = 10
17801 // Dst: (LOAD_EXTEND_U_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17802/* 35043*/ /*Scope*/ 25, /*->35069*/
17803/* 35044*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17804/* 35046*/ OPC_EmitMergeInputChains1_0,
17805/* 35047*/ OPC_EmitInteger, MVT::i32, 0,
17806/* 35050*/ OPC_EmitInteger, MVT::i64, 0,
17807/* 35053*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
17808 MVT::i64, 1/*#Ops*/, 3, // Results = #4
17809/* 35060*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
17810 MVT::v4i32, 3/*#Ops*/, 2, 1, 4,
17811 // Src: (ld:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi16>> - Complexity = 10
17812 // Dst: (LOAD_EXTEND_U_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
17813/* 35069*/ 0, /*End of Scope*/
17814/* 35070*/ /*Scope*/ 60, /*->35131*/
17815/* 35071*/ OPC_CheckPredicate, 14, // Predicate_extload
17816/* 35073*/ OPC_CheckPredicate, 16, // Predicate_extloadvi16
17817/* 35075*/ OPC_CheckType, MVT::v4i32,
17818/* 35077*/ OPC_Scope, 25, /*->35104*/ // 2 children in Scope
17819/* 35079*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17820/* 35081*/ OPC_EmitMergeInputChains1_0,
17821/* 35082*/ OPC_EmitInteger, MVT::i32, 0,
17822/* 35085*/ OPC_EmitInteger, MVT::i32, 0,
17823/* 35088*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17824 MVT::i32, 1/*#Ops*/, 3, // Results = #4
17825/* 35095*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
17826 MVT::v4i32, 3/*#Ops*/, 2, 1, 4,
17827 // Src: (ld:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi16>> - Complexity = 10
17828 // Dst: (LOAD_EXTEND_U_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17829/* 35104*/ /*Scope*/ 25, /*->35130*/
17830/* 35105*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17831/* 35107*/ OPC_EmitMergeInputChains1_0,
17832/* 35108*/ OPC_EmitInteger, MVT::i32, 0,
17833/* 35111*/ OPC_EmitInteger, MVT::i64, 0,
17834/* 35114*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
17835 MVT::i64, 1/*#Ops*/, 3, // Results = #4
17836/* 35121*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
17837 MVT::v4i32, 3/*#Ops*/, 2, 1, 4,
17838 // Src: (ld:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi16>> - Complexity = 10
17839 // Dst: (LOAD_EXTEND_U_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
17840/* 35130*/ 0, /*End of Scope*/
17841/* 35131*/ /*Scope*/ 60, /*->35192*/
17842/* 35132*/ OPC_CheckPredicate, 12, // Predicate_sextload
17843/* 35134*/ OPC_CheckPredicate, 17, // Predicate_sextloadvi32
17844/* 35136*/ OPC_CheckType, MVT::v2i64,
17845/* 35138*/ OPC_Scope, 25, /*->35165*/ // 2 children in Scope
17846/* 35140*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17847/* 35142*/ OPC_EmitMergeInputChains1_0,
17848/* 35143*/ OPC_EmitInteger, MVT::i32, 0,
17849/* 35146*/ OPC_EmitInteger, MVT::i32, 0,
17850/* 35149*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17851 MVT::i32, 1/*#Ops*/, 3, // Results = #4
17852/* 35156*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
17853 MVT::v2i64, 3/*#Ops*/, 2, 1, 4,
17854 // Src: (ld:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi32>> - Complexity = 10
17855 // Dst: (LOAD_EXTEND_S_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17856/* 35165*/ /*Scope*/ 25, /*->35191*/
17857/* 35166*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17858/* 35168*/ OPC_EmitMergeInputChains1_0,
17859/* 35169*/ OPC_EmitInteger, MVT::i32, 0,
17860/* 35172*/ OPC_EmitInteger, MVT::i64, 0,
17861/* 35175*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
17862 MVT::i64, 1/*#Ops*/, 3, // Results = #4
17863/* 35182*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
17864 MVT::v2i64, 3/*#Ops*/, 2, 1, 4,
17865 // Src: (ld:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi32>> - Complexity = 10
17866 // Dst: (LOAD_EXTEND_S_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
17867/* 35191*/ 0, /*End of Scope*/
17868/* 35192*/ /*Scope*/ 60, /*->35253*/
17869/* 35193*/ OPC_CheckPredicate, 13, // Predicate_zextload
17870/* 35195*/ OPC_CheckPredicate, 17, // Predicate_zextloadvi32
17871/* 35197*/ OPC_CheckType, MVT::v2i64,
17872/* 35199*/ OPC_Scope, 25, /*->35226*/ // 2 children in Scope
17873/* 35201*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17874/* 35203*/ OPC_EmitMergeInputChains1_0,
17875/* 35204*/ OPC_EmitInteger, MVT::i32, 0,
17876/* 35207*/ OPC_EmitInteger, MVT::i32, 0,
17877/* 35210*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17878 MVT::i32, 1/*#Ops*/, 3, // Results = #4
17879/* 35217*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
17880 MVT::v2i64, 3/*#Ops*/, 2, 1, 4,
17881 // Src: (ld:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi32>> - Complexity = 10
17882 // Dst: (LOAD_EXTEND_U_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17883/* 35226*/ /*Scope*/ 25, /*->35252*/
17884/* 35227*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17885/* 35229*/ OPC_EmitMergeInputChains1_0,
17886/* 35230*/ OPC_EmitInteger, MVT::i32, 0,
17887/* 35233*/ OPC_EmitInteger, MVT::i64, 0,
17888/* 35236*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
17889 MVT::i64, 1/*#Ops*/, 3, // Results = #4
17890/* 35243*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
17891 MVT::v2i64, 3/*#Ops*/, 2, 1, 4,
17892 // Src: (ld:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi32>> - Complexity = 10
17893 // Dst: (LOAD_EXTEND_U_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
17894/* 35252*/ 0, /*End of Scope*/
17895/* 35253*/ /*Scope*/ 60, /*->35314*/
17896/* 35254*/ OPC_CheckPredicate, 14, // Predicate_extload
17897/* 35256*/ OPC_CheckPredicate, 17, // Predicate_extloadvi32
17898/* 35258*/ OPC_CheckType, MVT::v2i64,
17899/* 35260*/ OPC_Scope, 25, /*->35287*/ // 2 children in Scope
17900/* 35262*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17901/* 35264*/ OPC_EmitMergeInputChains1_0,
17902/* 35265*/ OPC_EmitInteger, MVT::i32, 0,
17903/* 35268*/ OPC_EmitInteger, MVT::i32, 0,
17904/* 35271*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17905 MVT::i32, 1/*#Ops*/, 3, // Results = #4
17906/* 35278*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
17907 MVT::v2i64, 3/*#Ops*/, 2, 1, 4,
17908 // Src: (ld:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi32>> - Complexity = 10
17909 // Dst: (LOAD_EXTEND_U_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17910/* 35287*/ /*Scope*/ 25, /*->35313*/
17911/* 35288*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
17912/* 35290*/ OPC_EmitMergeInputChains1_0,
17913/* 35291*/ OPC_EmitInteger, MVT::i32, 0,
17914/* 35294*/ OPC_EmitInteger, MVT::i64, 0,
17915/* 35297*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
17916 MVT::i64, 1/*#Ops*/, 3, // Results = #4
17917/* 35304*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
17918 MVT::v2i64, 3/*#Ops*/, 2, 1, 4,
17919 // Src: (ld:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi32>> - Complexity = 10
17920 // Dst: (LOAD_EXTEND_U_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
17921/* 35313*/ 0, /*End of Scope*/
17922/* 35314*/ 0, /*End of Scope*/
17923/* 35315*/ 0, // EndSwitchOpcode
17924/* 35316*/ /*Scope*/ 73|128,11/*1481*/, /*->36799*/
17925/* 35318*/ OPC_RecordChild1, // #1 = $off
17926/* 35319*/ OPC_Scope, 72|128,6/*840*/, /*->36162*/ // 3 children in Scope
17927/* 35322*/ OPC_MoveChild1,
17928/* 35323*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17929/* 35326*/ OPC_MoveParent,
17930/* 35327*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
17931/* 35329*/ OPC_Scope, 116|128,1/*244*/, /*->35576*/ // 10 children in Scope
17932/* 35332*/ OPC_CheckPredicate, 11, // Predicate_load
17933/* 35334*/ OPC_SwitchType /*4 cases */, 58, MVT::v16i8,// ->35395
17934/* 35337*/ OPC_Scope, 27, /*->35366*/ // 2 children in Scope
17935/* 35339*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17936/* 35341*/ OPC_EmitMergeInputChains1_0,
17937/* 35342*/ OPC_EmitInteger, MVT::i32, 0,
17938/* 35345*/ OPC_EmitConvertToTarget, 1,
17939/* 35347*/ OPC_EmitInteger, MVT::i32, 0,
17940/* 35350*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17941 MVT::i32, 1/*#Ops*/, 4, // Results = #5
17942/* 35357*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
17943 MVT::v16i8, 3/*#Ops*/, 2, 3, 5,
17944 // Src: (ld:{ *:[v16i8] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
17945 // Dst: (LOAD_V128_A32:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17946/* 35366*/ /*Scope*/ 27, /*->35394*/
17947/* 35367*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17948/* 35369*/ OPC_EmitMergeInputChains1_0,
17949/* 35370*/ OPC_EmitInteger, MVT::i32, 0,
17950/* 35373*/ OPC_EmitConvertToTarget, 1,
17951/* 35375*/ OPC_EmitInteger, MVT::i64, 0,
17952/* 35378*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
17953 MVT::i64, 1/*#Ops*/, 4, // Results = #5
17954/* 35385*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
17955 MVT::v16i8, 3/*#Ops*/, 2, 3, 5,
17956 // Src: (ld:{ *:[v16i8] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
17957 // Dst: (LOAD_V128_A64:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
17958/* 35394*/ 0, /*End of Scope*/
17959/* 35395*/ /*SwitchType*/ 58, MVT::v8i16,// ->35455
17960/* 35397*/ OPC_Scope, 27, /*->35426*/ // 2 children in Scope
17961/* 35399*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17962/* 35401*/ OPC_EmitMergeInputChains1_0,
17963/* 35402*/ OPC_EmitInteger, MVT::i32, 0,
17964/* 35405*/ OPC_EmitConvertToTarget, 1,
17965/* 35407*/ OPC_EmitInteger, MVT::i32, 0,
17966/* 35410*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17967 MVT::i32, 1/*#Ops*/, 4, // Results = #5
17968/* 35417*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
17969 MVT::v8i16, 3/*#Ops*/, 2, 3, 5,
17970 // Src: (ld:{ *:[v8i16] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
17971 // Dst: (LOAD_V128_A32:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17972/* 35426*/ /*Scope*/ 27, /*->35454*/
17973/* 35427*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
17974/* 35429*/ OPC_EmitMergeInputChains1_0,
17975/* 35430*/ OPC_EmitInteger, MVT::i32, 0,
17976/* 35433*/ OPC_EmitConvertToTarget, 1,
17977/* 35435*/ OPC_EmitInteger, MVT::i64, 0,
17978/* 35438*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
17979 MVT::i64, 1/*#Ops*/, 4, // Results = #5
17980/* 35445*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
17981 MVT::v8i16, 3/*#Ops*/, 2, 3, 5,
17982 // Src: (ld:{ *:[v8i16] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
17983 // Dst: (LOAD_V128_A64:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
17984/* 35454*/ 0, /*End of Scope*/
17985/* 35455*/ /*SwitchType*/ 58, MVT::v4i32,// ->35515
17986/* 35457*/ OPC_Scope, 27, /*->35486*/ // 2 children in Scope
17987/* 35459*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
17988/* 35461*/ OPC_EmitMergeInputChains1_0,
17989/* 35462*/ OPC_EmitInteger, MVT::i32, 0,
17990/* 35465*/ OPC_EmitConvertToTarget, 1,
17991/* 35467*/ OPC_EmitInteger, MVT::i32, 0,
17992/* 35470*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17993 MVT::i32, 1/*#Ops*/, 4, // Results = #5
17994/* 35477*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
17995 MVT::v4i32, 3/*#Ops*/, 2, 3, 5,
17996 // Src: (ld:{ *:[v4i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
17997 // Dst: (LOAD_V128_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17998/* 35486*/ /*Scope*/ 27, /*->35514*/
17999/* 35487*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18000/* 35489*/ OPC_EmitMergeInputChains1_0,
18001/* 35490*/ OPC_EmitInteger, MVT::i32, 0,
18002/* 35493*/ OPC_EmitConvertToTarget, 1,
18003/* 35495*/ OPC_EmitInteger, MVT::i64, 0,
18004/* 35498*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
18005 MVT::i64, 1/*#Ops*/, 4, // Results = #5
18006/* 35505*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
18007 MVT::v4i32, 3/*#Ops*/, 2, 3, 5,
18008 // Src: (ld:{ *:[v4i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
18009 // Dst: (LOAD_V128_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
18010/* 35514*/ 0, /*End of Scope*/
18011/* 35515*/ /*SwitchType*/ 58, MVT::v2i64,// ->35575
18012/* 35517*/ OPC_Scope, 27, /*->35546*/ // 2 children in Scope
18013/* 35519*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18014/* 35521*/ OPC_EmitMergeInputChains1_0,
18015/* 35522*/ OPC_EmitInteger, MVT::i32, 0,
18016/* 35525*/ OPC_EmitConvertToTarget, 1,
18017/* 35527*/ OPC_EmitInteger, MVT::i32, 0,
18018/* 35530*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18019 MVT::i32, 1/*#Ops*/, 4, // Results = #5
18020/* 35537*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
18021 MVT::v2i64, 3/*#Ops*/, 2, 3, 5,
18022 // Src: (ld:{ *:[v2i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
18023 // Dst: (LOAD_V128_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18024/* 35546*/ /*Scope*/ 27, /*->35574*/
18025/* 35547*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18026/* 35549*/ OPC_EmitMergeInputChains1_0,
18027/* 35550*/ OPC_EmitInteger, MVT::i32, 0,
18028/* 35553*/ OPC_EmitConvertToTarget, 1,
18029/* 35555*/ OPC_EmitInteger, MVT::i64, 0,
18030/* 35558*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
18031 MVT::i64, 1/*#Ops*/, 4, // Results = #5
18032/* 35565*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
18033 MVT::v2i64, 3/*#Ops*/, 2, 3, 5,
18034 // Src: (ld:{ *:[v2i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
18035 // Dst: (LOAD_V128_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
18036/* 35574*/ 0, /*End of Scope*/
18037/* 35575*/ 0, // EndSwitchType
18038/* 35576*/ /*Scope*/ 64, /*->35641*/
18039/* 35577*/ OPC_CheckPredicate, 12, // Predicate_sextload
18040/* 35579*/ OPC_CheckPredicate, 15, // Predicate_sextloadvi8
18041/* 35581*/ OPC_CheckType, MVT::v8i16,
18042/* 35583*/ OPC_Scope, 27, /*->35612*/ // 2 children in Scope
18043/* 35585*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18044/* 35587*/ OPC_EmitMergeInputChains1_0,
18045/* 35588*/ OPC_EmitInteger, MVT::i32, 0,
18046/* 35591*/ OPC_EmitConvertToTarget, 1,
18047/* 35593*/ OPC_EmitInteger, MVT::i32, 0,
18048/* 35596*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18049 MVT::i32, 1/*#Ops*/, 4, // Results = #5
18050/* 35603*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
18051 MVT::v8i16, 3/*#Ops*/, 2, 3, 5,
18052 // Src: (ld:{ *:[v8i16] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi8>> - Complexity = 7
18053 // Dst: (LOAD_EXTEND_S_I16x8_A32:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18054/* 35612*/ /*Scope*/ 27, /*->35640*/
18055/* 35613*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18056/* 35615*/ OPC_EmitMergeInputChains1_0,
18057/* 35616*/ OPC_EmitInteger, MVT::i32, 0,
18058/* 35619*/ OPC_EmitConvertToTarget, 1,
18059/* 35621*/ OPC_EmitInteger, MVT::i64, 0,
18060/* 35624*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
18061 MVT::i64, 1/*#Ops*/, 4, // Results = #5
18062/* 35631*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
18063 MVT::v8i16, 3/*#Ops*/, 2, 3, 5,
18064 // Src: (ld:{ *:[v8i16] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi8>> - Complexity = 7
18065 // Dst: (LOAD_EXTEND_S_I16x8_A64:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
18066/* 35640*/ 0, /*End of Scope*/
18067/* 35641*/ /*Scope*/ 64, /*->35706*/
18068/* 35642*/ OPC_CheckPredicate, 13, // Predicate_zextload
18069/* 35644*/ OPC_CheckPredicate, 15, // Predicate_zextloadvi8
18070/* 35646*/ OPC_CheckType, MVT::v8i16,
18071/* 35648*/ OPC_Scope, 27, /*->35677*/ // 2 children in Scope
18072/* 35650*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18073/* 35652*/ OPC_EmitMergeInputChains1_0,
18074/* 35653*/ OPC_EmitInteger, MVT::i32, 0,
18075/* 35656*/ OPC_EmitConvertToTarget, 1,
18076/* 35658*/ OPC_EmitInteger, MVT::i32, 0,
18077/* 35661*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18078 MVT::i32, 1/*#Ops*/, 4, // Results = #5
18079/* 35668*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
18080 MVT::v8i16, 3/*#Ops*/, 2, 3, 5,
18081 // Src: (ld:{ *:[v8i16] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi8>> - Complexity = 7
18082 // Dst: (LOAD_EXTEND_U_I16x8_A32:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18083/* 35677*/ /*Scope*/ 27, /*->35705*/
18084/* 35678*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18085/* 35680*/ OPC_EmitMergeInputChains1_0,
18086/* 35681*/ OPC_EmitInteger, MVT::i32, 0,
18087/* 35684*/ OPC_EmitConvertToTarget, 1,
18088/* 35686*/ OPC_EmitInteger, MVT::i64, 0,
18089/* 35689*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
18090 MVT::i64, 1/*#Ops*/, 4, // Results = #5
18091/* 35696*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
18092 MVT::v8i16, 3/*#Ops*/, 2, 3, 5,
18093 // Src: (ld:{ *:[v8i16] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi8>> - Complexity = 7
18094 // Dst: (LOAD_EXTEND_U_I16x8_A64:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
18095/* 35705*/ 0, /*End of Scope*/
18096/* 35706*/ /*Scope*/ 64, /*->35771*/
18097/* 35707*/ OPC_CheckPredicate, 14, // Predicate_extload
18098/* 35709*/ OPC_CheckPredicate, 15, // Predicate_extloadvi8
18099/* 35711*/ OPC_CheckType, MVT::v8i16,
18100/* 35713*/ OPC_Scope, 27, /*->35742*/ // 2 children in Scope
18101/* 35715*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18102/* 35717*/ OPC_EmitMergeInputChains1_0,
18103/* 35718*/ OPC_EmitInteger, MVT::i32, 0,
18104/* 35721*/ OPC_EmitConvertToTarget, 1,
18105/* 35723*/ OPC_EmitInteger, MVT::i32, 0,
18106/* 35726*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18107 MVT::i32, 1/*#Ops*/, 4, // Results = #5
18108/* 35733*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
18109 MVT::v8i16, 3/*#Ops*/, 2, 3, 5,
18110 // Src: (ld:{ *:[v8i16] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi8>> - Complexity = 7
18111 // Dst: (LOAD_EXTEND_U_I16x8_A32:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18112/* 35742*/ /*Scope*/ 27, /*->35770*/
18113/* 35743*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18114/* 35745*/ OPC_EmitMergeInputChains1_0,
18115/* 35746*/ OPC_EmitInteger, MVT::i32, 0,
18116/* 35749*/ OPC_EmitConvertToTarget, 1,
18117/* 35751*/ OPC_EmitInteger, MVT::i64, 0,
18118/* 35754*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
18119 MVT::i64, 1/*#Ops*/, 4, // Results = #5
18120/* 35761*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
18121 MVT::v8i16, 3/*#Ops*/, 2, 3, 5,
18122 // Src: (ld:{ *:[v8i16] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi8>> - Complexity = 7
18123 // Dst: (LOAD_EXTEND_U_I16x8_A64:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
18124/* 35770*/ 0, /*End of Scope*/
18125/* 35771*/ /*Scope*/ 64, /*->35836*/
18126/* 35772*/ OPC_CheckPredicate, 12, // Predicate_sextload
18127/* 35774*/ OPC_CheckPredicate, 16, // Predicate_sextloadvi16
18128/* 35776*/ OPC_CheckType, MVT::v4i32,
18129/* 35778*/ OPC_Scope, 27, /*->35807*/ // 2 children in Scope
18130/* 35780*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18131/* 35782*/ OPC_EmitMergeInputChains1_0,
18132/* 35783*/ OPC_EmitInteger, MVT::i32, 0,
18133/* 35786*/ OPC_EmitConvertToTarget, 1,
18134/* 35788*/ OPC_EmitInteger, MVT::i32, 0,
18135/* 35791*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18136 MVT::i32, 1/*#Ops*/, 4, // Results = #5
18137/* 35798*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
18138 MVT::v4i32, 3/*#Ops*/, 2, 3, 5,
18139 // Src: (ld:{ *:[v4i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi16>> - Complexity = 7
18140 // Dst: (LOAD_EXTEND_S_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18141/* 35807*/ /*Scope*/ 27, /*->35835*/
18142/* 35808*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18143/* 35810*/ OPC_EmitMergeInputChains1_0,
18144/* 35811*/ OPC_EmitInteger, MVT::i32, 0,
18145/* 35814*/ OPC_EmitConvertToTarget, 1,
18146/* 35816*/ OPC_EmitInteger, MVT::i64, 0,
18147/* 35819*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
18148 MVT::i64, 1/*#Ops*/, 4, // Results = #5
18149/* 35826*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
18150 MVT::v4i32, 3/*#Ops*/, 2, 3, 5,
18151 // Src: (ld:{ *:[v4i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi16>> - Complexity = 7
18152 // Dst: (LOAD_EXTEND_S_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
18153/* 35835*/ 0, /*End of Scope*/
18154/* 35836*/ /*Scope*/ 64, /*->35901*/
18155/* 35837*/ OPC_CheckPredicate, 13, // Predicate_zextload
18156/* 35839*/ OPC_CheckPredicate, 16, // Predicate_zextloadvi16
18157/* 35841*/ OPC_CheckType, MVT::v4i32,
18158/* 35843*/ OPC_Scope, 27, /*->35872*/ // 2 children in Scope
18159/* 35845*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18160/* 35847*/ OPC_EmitMergeInputChains1_0,
18161/* 35848*/ OPC_EmitInteger, MVT::i32, 0,
18162/* 35851*/ OPC_EmitConvertToTarget, 1,
18163/* 35853*/ OPC_EmitInteger, MVT::i32, 0,
18164/* 35856*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18165 MVT::i32, 1/*#Ops*/, 4, // Results = #5
18166/* 35863*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
18167 MVT::v4i32, 3/*#Ops*/, 2, 3, 5,
18168 // Src: (ld:{ *:[v4i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi16>> - Complexity = 7
18169 // Dst: (LOAD_EXTEND_U_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18170/* 35872*/ /*Scope*/ 27, /*->35900*/
18171/* 35873*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18172/* 35875*/ OPC_EmitMergeInputChains1_0,
18173/* 35876*/ OPC_EmitInteger, MVT::i32, 0,
18174/* 35879*/ OPC_EmitConvertToTarget, 1,
18175/* 35881*/ OPC_EmitInteger, MVT::i64, 0,
18176/* 35884*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
18177 MVT::i64, 1/*#Ops*/, 4, // Results = #5
18178/* 35891*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
18179 MVT::v4i32, 3/*#Ops*/, 2, 3, 5,
18180 // Src: (ld:{ *:[v4i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi16>> - Complexity = 7
18181 // Dst: (LOAD_EXTEND_U_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
18182/* 35900*/ 0, /*End of Scope*/
18183/* 35901*/ /*Scope*/ 64, /*->35966*/
18184/* 35902*/ OPC_CheckPredicate, 14, // Predicate_extload
18185/* 35904*/ OPC_CheckPredicate, 16, // Predicate_extloadvi16
18186/* 35906*/ OPC_CheckType, MVT::v4i32,
18187/* 35908*/ OPC_Scope, 27, /*->35937*/ // 2 children in Scope
18188/* 35910*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18189/* 35912*/ OPC_EmitMergeInputChains1_0,
18190/* 35913*/ OPC_EmitInteger, MVT::i32, 0,
18191/* 35916*/ OPC_EmitConvertToTarget, 1,
18192/* 35918*/ OPC_EmitInteger, MVT::i32, 0,
18193/* 35921*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18194 MVT::i32, 1/*#Ops*/, 4, // Results = #5
18195/* 35928*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
18196 MVT::v4i32, 3/*#Ops*/, 2, 3, 5,
18197 // Src: (ld:{ *:[v4i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi16>> - Complexity = 7
18198 // Dst: (LOAD_EXTEND_U_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18199/* 35937*/ /*Scope*/ 27, /*->35965*/
18200/* 35938*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18201/* 35940*/ OPC_EmitMergeInputChains1_0,
18202/* 35941*/ OPC_EmitInteger, MVT::i32, 0,
18203/* 35944*/ OPC_EmitConvertToTarget, 1,
18204/* 35946*/ OPC_EmitInteger, MVT::i64, 0,
18205/* 35949*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
18206 MVT::i64, 1/*#Ops*/, 4, // Results = #5
18207/* 35956*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
18208 MVT::v4i32, 3/*#Ops*/, 2, 3, 5,
18209 // Src: (ld:{ *:[v4i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi16>> - Complexity = 7
18210 // Dst: (LOAD_EXTEND_U_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
18211/* 35965*/ 0, /*End of Scope*/
18212/* 35966*/ /*Scope*/ 64, /*->36031*/
18213/* 35967*/ OPC_CheckPredicate, 12, // Predicate_sextload
18214/* 35969*/ OPC_CheckPredicate, 17, // Predicate_sextloadvi32
18215/* 35971*/ OPC_CheckType, MVT::v2i64,
18216/* 35973*/ OPC_Scope, 27, /*->36002*/ // 2 children in Scope
18217/* 35975*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18218/* 35977*/ OPC_EmitMergeInputChains1_0,
18219/* 35978*/ OPC_EmitInteger, MVT::i32, 0,
18220/* 35981*/ OPC_EmitConvertToTarget, 1,
18221/* 35983*/ OPC_EmitInteger, MVT::i32, 0,
18222/* 35986*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18223 MVT::i32, 1/*#Ops*/, 4, // Results = #5
18224/* 35993*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
18225 MVT::v2i64, 3/*#Ops*/, 2, 3, 5,
18226 // Src: (ld:{ *:[v2i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi32>> - Complexity = 7
18227 // Dst: (LOAD_EXTEND_S_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18228/* 36002*/ /*Scope*/ 27, /*->36030*/
18229/* 36003*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18230/* 36005*/ OPC_EmitMergeInputChains1_0,
18231/* 36006*/ OPC_EmitInteger, MVT::i32, 0,
18232/* 36009*/ OPC_EmitConvertToTarget, 1,
18233/* 36011*/ OPC_EmitInteger, MVT::i64, 0,
18234/* 36014*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
18235 MVT::i64, 1/*#Ops*/, 4, // Results = #5
18236/* 36021*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
18237 MVT::v2i64, 3/*#Ops*/, 2, 3, 5,
18238 // Src: (ld:{ *:[v2i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi32>> - Complexity = 7
18239 // Dst: (LOAD_EXTEND_S_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
18240/* 36030*/ 0, /*End of Scope*/
18241/* 36031*/ /*Scope*/ 64, /*->36096*/
18242/* 36032*/ OPC_CheckPredicate, 13, // Predicate_zextload
18243/* 36034*/ OPC_CheckPredicate, 17, // Predicate_zextloadvi32
18244/* 36036*/ OPC_CheckType, MVT::v2i64,
18245/* 36038*/ OPC_Scope, 27, /*->36067*/ // 2 children in Scope
18246/* 36040*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18247/* 36042*/ OPC_EmitMergeInputChains1_0,
18248/* 36043*/ OPC_EmitInteger, MVT::i32, 0,
18249/* 36046*/ OPC_EmitConvertToTarget, 1,
18250/* 36048*/ OPC_EmitInteger, MVT::i32, 0,
18251/* 36051*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18252 MVT::i32, 1/*#Ops*/, 4, // Results = #5
18253/* 36058*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
18254 MVT::v2i64, 3/*#Ops*/, 2, 3, 5,
18255 // Src: (ld:{ *:[v2i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi32>> - Complexity = 7
18256 // Dst: (LOAD_EXTEND_U_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18257/* 36067*/ /*Scope*/ 27, /*->36095*/
18258/* 36068*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18259/* 36070*/ OPC_EmitMergeInputChains1_0,
18260/* 36071*/ OPC_EmitInteger, MVT::i32, 0,
18261/* 36074*/ OPC_EmitConvertToTarget, 1,
18262/* 36076*/ OPC_EmitInteger, MVT::i64, 0,
18263/* 36079*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
18264 MVT::i64, 1/*#Ops*/, 4, // Results = #5
18265/* 36086*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
18266 MVT::v2i64, 3/*#Ops*/, 2, 3, 5,
18267 // Src: (ld:{ *:[v2i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi32>> - Complexity = 7
18268 // Dst: (LOAD_EXTEND_U_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
18269/* 36095*/ 0, /*End of Scope*/
18270/* 36096*/ /*Scope*/ 64, /*->36161*/
18271/* 36097*/ OPC_CheckPredicate, 14, // Predicate_extload
18272/* 36099*/ OPC_CheckPredicate, 17, // Predicate_extloadvi32
18273/* 36101*/ OPC_CheckType, MVT::v2i64,
18274/* 36103*/ OPC_Scope, 27, /*->36132*/ // 2 children in Scope
18275/* 36105*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18276/* 36107*/ OPC_EmitMergeInputChains1_0,
18277/* 36108*/ OPC_EmitInteger, MVT::i32, 0,
18278/* 36111*/ OPC_EmitConvertToTarget, 1,
18279/* 36113*/ OPC_EmitInteger, MVT::i32, 0,
18280/* 36116*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18281 MVT::i32, 1/*#Ops*/, 4, // Results = #5
18282/* 36123*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
18283 MVT::v2i64, 3/*#Ops*/, 2, 3, 5,
18284 // Src: (ld:{ *:[v2i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi32>> - Complexity = 7
18285 // Dst: (LOAD_EXTEND_U_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18286/* 36132*/ /*Scope*/ 27, /*->36160*/
18287/* 36133*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18288/* 36135*/ OPC_EmitMergeInputChains1_0,
18289/* 36136*/ OPC_EmitInteger, MVT::i32, 0,
18290/* 36139*/ OPC_EmitConvertToTarget, 1,
18291/* 36141*/ OPC_EmitInteger, MVT::i64, 0,
18292/* 36144*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
18293 MVT::i64, 1/*#Ops*/, 4, // Results = #5
18294/* 36151*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
18295 MVT::v2i64, 3/*#Ops*/, 2, 3, 5,
18296 // Src: (ld:{ *:[v2i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi32>> - Complexity = 7
18297 // Dst: (LOAD_EXTEND_U_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
18298/* 36160*/ 0, /*End of Scope*/
18299/* 36161*/ 0, /*End of Scope*/
18300/* 36162*/ /*Scope*/ 60|128,2/*316*/, /*->36480*/
18301/* 36164*/ OPC_CheckChild1Type, MVT::i32,
18302/* 36166*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
18303/* 36168*/ OPC_Scope, 84, /*->36254*/ // 10 children in Scope
18304/* 36170*/ OPC_CheckPredicate, 11, // Predicate_load
18305/* 36172*/ OPC_SwitchType /*4 cases */, 18, MVT::v16i8,// ->36193
18306/* 36175*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18307/* 36177*/ OPC_EmitMergeInputChains1_0,
18308/* 36178*/ OPC_EmitInteger, MVT::i32, 0,
18309/* 36181*/ OPC_EmitInteger, MVT::i32, 0,
18310/* 36184*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
18311 MVT::v16i8, 3/*#Ops*/, 2, 3, 1,
18312 // Src: (ld:{ *:[v16i8] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18313 // Dst: (LOAD_V128_A32:{ *:[v16i8] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18314/* 36193*/ /*SwitchType*/ 18, MVT::v8i16,// ->36213
18315/* 36195*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18316/* 36197*/ OPC_EmitMergeInputChains1_0,
18317/* 36198*/ OPC_EmitInteger, MVT::i32, 0,
18318/* 36201*/ OPC_EmitInteger, MVT::i32, 0,
18319/* 36204*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
18320 MVT::v8i16, 3/*#Ops*/, 2, 3, 1,
18321 // Src: (ld:{ *:[v8i16] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18322 // Dst: (LOAD_V128_A32:{ *:[v8i16] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18323/* 36213*/ /*SwitchType*/ 18, MVT::v4i32,// ->36233
18324/* 36215*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18325/* 36217*/ OPC_EmitMergeInputChains1_0,
18326/* 36218*/ OPC_EmitInteger, MVT::i32, 0,
18327/* 36221*/ OPC_EmitInteger, MVT::i32, 0,
18328/* 36224*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
18329 MVT::v4i32, 3/*#Ops*/, 2, 3, 1,
18330 // Src: (ld:{ *:[v4i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18331 // Dst: (LOAD_V128_A32:{ *:[v4i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18332/* 36233*/ /*SwitchType*/ 18, MVT::v2i64,// ->36253
18333/* 36235*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18334/* 36237*/ OPC_EmitMergeInputChains1_0,
18335/* 36238*/ OPC_EmitInteger, MVT::i32, 0,
18336/* 36241*/ OPC_EmitInteger, MVT::i32, 0,
18337/* 36244*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
18338 MVT::v2i64, 3/*#Ops*/, 2, 3, 1,
18339 // Src: (ld:{ *:[v2i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18340 // Dst: (LOAD_V128_A32:{ *:[v2i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18341/* 36253*/ 0, // EndSwitchType
18342/* 36254*/ /*Scope*/ 24, /*->36279*/
18343/* 36255*/ OPC_CheckPredicate, 12, // Predicate_sextload
18344/* 36257*/ OPC_CheckPredicate, 15, // Predicate_sextloadvi8
18345/* 36259*/ OPC_CheckType, MVT::v8i16,
18346/* 36261*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18347/* 36263*/ OPC_EmitMergeInputChains1_0,
18348/* 36264*/ OPC_EmitInteger, MVT::i32, 0,
18349/* 36267*/ OPC_EmitInteger, MVT::i32, 0,
18350/* 36270*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
18351 MVT::v8i16, 3/*#Ops*/, 2, 3, 1,
18352 // Src: (ld:{ *:[v8i16] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi8>> - Complexity = 4
18353 // Dst: (LOAD_EXTEND_S_I16x8_A32:{ *:[v8i16] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18354/* 36279*/ /*Scope*/ 24, /*->36304*/
18355/* 36280*/ OPC_CheckPredicate, 13, // Predicate_zextload
18356/* 36282*/ OPC_CheckPredicate, 15, // Predicate_zextloadvi8
18357/* 36284*/ OPC_CheckType, MVT::v8i16,
18358/* 36286*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18359/* 36288*/ OPC_EmitMergeInputChains1_0,
18360/* 36289*/ OPC_EmitInteger, MVT::i32, 0,
18361/* 36292*/ OPC_EmitInteger, MVT::i32, 0,
18362/* 36295*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
18363 MVT::v8i16, 3/*#Ops*/, 2, 3, 1,
18364 // Src: (ld:{ *:[v8i16] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi8>> - Complexity = 4
18365 // Dst: (LOAD_EXTEND_U_I16x8_A32:{ *:[v8i16] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18366/* 36304*/ /*Scope*/ 24, /*->36329*/
18367/* 36305*/ OPC_CheckPredicate, 14, // Predicate_extload
18368/* 36307*/ OPC_CheckPredicate, 15, // Predicate_extloadvi8
18369/* 36309*/ OPC_CheckType, MVT::v8i16,
18370/* 36311*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18371/* 36313*/ OPC_EmitMergeInputChains1_0,
18372/* 36314*/ OPC_EmitInteger, MVT::i32, 0,
18373/* 36317*/ OPC_EmitInteger, MVT::i32, 0,
18374/* 36320*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
18375 MVT::v8i16, 3/*#Ops*/, 2, 3, 1,
18376 // Src: (ld:{ *:[v8i16] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi8>> - Complexity = 4
18377 // Dst: (LOAD_EXTEND_U_I16x8_A32:{ *:[v8i16] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18378/* 36329*/ /*Scope*/ 24, /*->36354*/
18379/* 36330*/ OPC_CheckPredicate, 12, // Predicate_sextload
18380/* 36332*/ OPC_CheckPredicate, 16, // Predicate_sextloadvi16
18381/* 36334*/ OPC_CheckType, MVT::v4i32,
18382/* 36336*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18383/* 36338*/ OPC_EmitMergeInputChains1_0,
18384/* 36339*/ OPC_EmitInteger, MVT::i32, 0,
18385/* 36342*/ OPC_EmitInteger, MVT::i32, 0,
18386/* 36345*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
18387 MVT::v4i32, 3/*#Ops*/, 2, 3, 1,
18388 // Src: (ld:{ *:[v4i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi16>> - Complexity = 4
18389 // Dst: (LOAD_EXTEND_S_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18390/* 36354*/ /*Scope*/ 24, /*->36379*/
18391/* 36355*/ OPC_CheckPredicate, 13, // Predicate_zextload
18392/* 36357*/ OPC_CheckPredicate, 16, // Predicate_zextloadvi16
18393/* 36359*/ OPC_CheckType, MVT::v4i32,
18394/* 36361*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18395/* 36363*/ OPC_EmitMergeInputChains1_0,
18396/* 36364*/ OPC_EmitInteger, MVT::i32, 0,
18397/* 36367*/ OPC_EmitInteger, MVT::i32, 0,
18398/* 36370*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
18399 MVT::v4i32, 3/*#Ops*/, 2, 3, 1,
18400 // Src: (ld:{ *:[v4i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi16>> - Complexity = 4
18401 // Dst: (LOAD_EXTEND_U_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18402/* 36379*/ /*Scope*/ 24, /*->36404*/
18403/* 36380*/ OPC_CheckPredicate, 14, // Predicate_extload
18404/* 36382*/ OPC_CheckPredicate, 16, // Predicate_extloadvi16
18405/* 36384*/ OPC_CheckType, MVT::v4i32,
18406/* 36386*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18407/* 36388*/ OPC_EmitMergeInputChains1_0,
18408/* 36389*/ OPC_EmitInteger, MVT::i32, 0,
18409/* 36392*/ OPC_EmitInteger, MVT::i32, 0,
18410/* 36395*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
18411 MVT::v4i32, 3/*#Ops*/, 2, 3, 1,
18412 // Src: (ld:{ *:[v4i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi16>> - Complexity = 4
18413 // Dst: (LOAD_EXTEND_U_I32x4_A32:{ *:[v4i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18414/* 36404*/ /*Scope*/ 24, /*->36429*/
18415/* 36405*/ OPC_CheckPredicate, 12, // Predicate_sextload
18416/* 36407*/ OPC_CheckPredicate, 17, // Predicate_sextloadvi32
18417/* 36409*/ OPC_CheckType, MVT::v2i64,
18418/* 36411*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18419/* 36413*/ OPC_EmitMergeInputChains1_0,
18420/* 36414*/ OPC_EmitInteger, MVT::i32, 0,
18421/* 36417*/ OPC_EmitInteger, MVT::i32, 0,
18422/* 36420*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
18423 MVT::v2i64, 3/*#Ops*/, 2, 3, 1,
18424 // Src: (ld:{ *:[v2i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi32>> - Complexity = 4
18425 // Dst: (LOAD_EXTEND_S_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18426/* 36429*/ /*Scope*/ 24, /*->36454*/
18427/* 36430*/ OPC_CheckPredicate, 13, // Predicate_zextload
18428/* 36432*/ OPC_CheckPredicate, 17, // Predicate_zextloadvi32
18429/* 36434*/ OPC_CheckType, MVT::v2i64,
18430/* 36436*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18431/* 36438*/ OPC_EmitMergeInputChains1_0,
18432/* 36439*/ OPC_EmitInteger, MVT::i32, 0,
18433/* 36442*/ OPC_EmitInteger, MVT::i32, 0,
18434/* 36445*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
18435 MVT::v2i64, 3/*#Ops*/, 2, 3, 1,
18436 // Src: (ld:{ *:[v2i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi32>> - Complexity = 4
18437 // Dst: (LOAD_EXTEND_U_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18438/* 36454*/ /*Scope*/ 24, /*->36479*/
18439/* 36455*/ OPC_CheckPredicate, 14, // Predicate_extload
18440/* 36457*/ OPC_CheckPredicate, 17, // Predicate_extloadvi32
18441/* 36459*/ OPC_CheckType, MVT::v2i64,
18442/* 36461*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18443/* 36463*/ OPC_EmitMergeInputChains1_0,
18444/* 36464*/ OPC_EmitInteger, MVT::i32, 0,
18445/* 36467*/ OPC_EmitInteger, MVT::i32, 0,
18446/* 36470*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
18447 MVT::v2i64, 3/*#Ops*/, 2, 3, 1,
18448 // Src: (ld:{ *:[v2i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi32>> - Complexity = 4
18449 // Dst: (LOAD_EXTEND_U_I64x2_A32:{ *:[v2i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18450/* 36479*/ 0, /*End of Scope*/
18451/* 36480*/ /*Scope*/ 60|128,2/*316*/, /*->36798*/
18452/* 36482*/ OPC_CheckChild1Type, MVT::i64,
18453/* 36484*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
18454/* 36486*/ OPC_Scope, 84, /*->36572*/ // 10 children in Scope
18455/* 36488*/ OPC_CheckPredicate, 11, // Predicate_load
18456/* 36490*/ OPC_SwitchType /*4 cases */, 18, MVT::v16i8,// ->36511
18457/* 36493*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18458/* 36495*/ OPC_EmitMergeInputChains1_0,
18459/* 36496*/ OPC_EmitInteger, MVT::i32, 0,
18460/* 36499*/ OPC_EmitInteger, MVT::i64, 0,
18461/* 36502*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
18462 MVT::v16i8, 3/*#Ops*/, 2, 3, 1,
18463 // Src: (ld:{ *:[v16i8] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18464 // Dst: (LOAD_V128_A64:{ *:[v16i8] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
18465/* 36511*/ /*SwitchType*/ 18, MVT::v8i16,// ->36531
18466/* 36513*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18467/* 36515*/ OPC_EmitMergeInputChains1_0,
18468/* 36516*/ OPC_EmitInteger, MVT::i32, 0,
18469/* 36519*/ OPC_EmitInteger, MVT::i64, 0,
18470/* 36522*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
18471 MVT::v8i16, 3/*#Ops*/, 2, 3, 1,
18472 // Src: (ld:{ *:[v8i16] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18473 // Dst: (LOAD_V128_A64:{ *:[v8i16] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
18474/* 36531*/ /*SwitchType*/ 18, MVT::v4i32,// ->36551
18475/* 36533*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18476/* 36535*/ OPC_EmitMergeInputChains1_0,
18477/* 36536*/ OPC_EmitInteger, MVT::i32, 0,
18478/* 36539*/ OPC_EmitInteger, MVT::i64, 0,
18479/* 36542*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
18480 MVT::v4i32, 3/*#Ops*/, 2, 3, 1,
18481 // Src: (ld:{ *:[v4i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18482 // Dst: (LOAD_V128_A64:{ *:[v4i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
18483/* 36551*/ /*SwitchType*/ 18, MVT::v2i64,// ->36571
18484/* 36553*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18485/* 36555*/ OPC_EmitMergeInputChains1_0,
18486/* 36556*/ OPC_EmitInteger, MVT::i32, 0,
18487/* 36559*/ OPC_EmitInteger, MVT::i64, 0,
18488/* 36562*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
18489 MVT::v2i64, 3/*#Ops*/, 2, 3, 1,
18490 // Src: (ld:{ *:[v2i64] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18491 // Dst: (LOAD_V128_A64:{ *:[v2i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
18492/* 36571*/ 0, // EndSwitchType
18493/* 36572*/ /*Scope*/ 24, /*->36597*/
18494/* 36573*/ OPC_CheckPredicate, 12, // Predicate_sextload
18495/* 36575*/ OPC_CheckPredicate, 15, // Predicate_sextloadvi8
18496/* 36577*/ OPC_CheckType, MVT::v8i16,
18497/* 36579*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18498/* 36581*/ OPC_EmitMergeInputChains1_0,
18499/* 36582*/ OPC_EmitInteger, MVT::i32, 0,
18500/* 36585*/ OPC_EmitInteger, MVT::i64, 0,
18501/* 36588*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
18502 MVT::v8i16, 3/*#Ops*/, 2, 3, 1,
18503 // Src: (ld:{ *:[v8i16] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi8>> - Complexity = 4
18504 // Dst: (LOAD_EXTEND_S_I16x8_A64:{ *:[v8i16] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
18505/* 36597*/ /*Scope*/ 24, /*->36622*/
18506/* 36598*/ OPC_CheckPredicate, 13, // Predicate_zextload
18507/* 36600*/ OPC_CheckPredicate, 15, // Predicate_zextloadvi8
18508/* 36602*/ OPC_CheckType, MVT::v8i16,
18509/* 36604*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18510/* 36606*/ OPC_EmitMergeInputChains1_0,
18511/* 36607*/ OPC_EmitInteger, MVT::i32, 0,
18512/* 36610*/ OPC_EmitInteger, MVT::i64, 0,
18513/* 36613*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
18514 MVT::v8i16, 3/*#Ops*/, 2, 3, 1,
18515 // Src: (ld:{ *:[v8i16] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi8>> - Complexity = 4
18516 // Dst: (LOAD_EXTEND_U_I16x8_A64:{ *:[v8i16] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
18517/* 36622*/ /*Scope*/ 24, /*->36647*/
18518/* 36623*/ OPC_CheckPredicate, 14, // Predicate_extload
18519/* 36625*/ OPC_CheckPredicate, 15, // Predicate_extloadvi8
18520/* 36627*/ OPC_CheckType, MVT::v8i16,
18521/* 36629*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18522/* 36631*/ OPC_EmitMergeInputChains1_0,
18523/* 36632*/ OPC_EmitInteger, MVT::i32, 0,
18524/* 36635*/ OPC_EmitInteger, MVT::i64, 0,
18525/* 36638*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
18526 MVT::v8i16, 3/*#Ops*/, 2, 3, 1,
18527 // Src: (ld:{ *:[v8i16] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi8>> - Complexity = 4
18528 // Dst: (LOAD_EXTEND_U_I16x8_A64:{ *:[v8i16] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
18529/* 36647*/ /*Scope*/ 24, /*->36672*/
18530/* 36648*/ OPC_CheckPredicate, 12, // Predicate_sextload
18531/* 36650*/ OPC_CheckPredicate, 16, // Predicate_sextloadvi16
18532/* 36652*/ OPC_CheckType, MVT::v4i32,
18533/* 36654*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18534/* 36656*/ OPC_EmitMergeInputChains1_0,
18535/* 36657*/ OPC_EmitInteger, MVT::i32, 0,
18536/* 36660*/ OPC_EmitInteger, MVT::i64, 0,
18537/* 36663*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
18538 MVT::v4i32, 3/*#Ops*/, 2, 3, 1,
18539 // Src: (ld:{ *:[v4i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi16>> - Complexity = 4
18540 // Dst: (LOAD_EXTEND_S_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
18541/* 36672*/ /*Scope*/ 24, /*->36697*/
18542/* 36673*/ OPC_CheckPredicate, 13, // Predicate_zextload
18543/* 36675*/ OPC_CheckPredicate, 16, // Predicate_zextloadvi16
18544/* 36677*/ OPC_CheckType, MVT::v4i32,
18545/* 36679*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18546/* 36681*/ OPC_EmitMergeInputChains1_0,
18547/* 36682*/ OPC_EmitInteger, MVT::i32, 0,
18548/* 36685*/ OPC_EmitInteger, MVT::i64, 0,
18549/* 36688*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
18550 MVT::v4i32, 3/*#Ops*/, 2, 3, 1,
18551 // Src: (ld:{ *:[v4i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi16>> - Complexity = 4
18552 // Dst: (LOAD_EXTEND_U_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
18553/* 36697*/ /*Scope*/ 24, /*->36722*/
18554/* 36698*/ OPC_CheckPredicate, 14, // Predicate_extload
18555/* 36700*/ OPC_CheckPredicate, 16, // Predicate_extloadvi16
18556/* 36702*/ OPC_CheckType, MVT::v4i32,
18557/* 36704*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18558/* 36706*/ OPC_EmitMergeInputChains1_0,
18559/* 36707*/ OPC_EmitInteger, MVT::i32, 0,
18560/* 36710*/ OPC_EmitInteger, MVT::i64, 0,
18561/* 36713*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
18562 MVT::v4i32, 3/*#Ops*/, 2, 3, 1,
18563 // Src: (ld:{ *:[v4i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi16>> - Complexity = 4
18564 // Dst: (LOAD_EXTEND_U_I32x4_A64:{ *:[v4i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
18565/* 36722*/ /*Scope*/ 24, /*->36747*/
18566/* 36723*/ OPC_CheckPredicate, 12, // Predicate_sextload
18567/* 36725*/ OPC_CheckPredicate, 17, // Predicate_sextloadvi32
18568/* 36727*/ OPC_CheckType, MVT::v2i64,
18569/* 36729*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18570/* 36731*/ OPC_EmitMergeInputChains1_0,
18571/* 36732*/ OPC_EmitInteger, MVT::i32, 0,
18572/* 36735*/ OPC_EmitInteger, MVT::i64, 0,
18573/* 36738*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
18574 MVT::v2i64, 3/*#Ops*/, 2, 3, 1,
18575 // Src: (ld:{ *:[v2i64] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadvi32>> - Complexity = 4
18576 // Dst: (LOAD_EXTEND_S_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
18577/* 36747*/ /*Scope*/ 24, /*->36772*/
18578/* 36748*/ OPC_CheckPredicate, 13, // Predicate_zextload
18579/* 36750*/ OPC_CheckPredicate, 17, // Predicate_zextloadvi32
18580/* 36752*/ OPC_CheckType, MVT::v2i64,
18581/* 36754*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18582/* 36756*/ OPC_EmitMergeInputChains1_0,
18583/* 36757*/ OPC_EmitInteger, MVT::i32, 0,
18584/* 36760*/ OPC_EmitInteger, MVT::i64, 0,
18585/* 36763*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
18586 MVT::v2i64, 3/*#Ops*/, 2, 3, 1,
18587 // Src: (ld:{ *:[v2i64] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadvi32>> - Complexity = 4
18588 // Dst: (LOAD_EXTEND_U_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
18589/* 36772*/ /*Scope*/ 24, /*->36797*/
18590/* 36773*/ OPC_CheckPredicate, 14, // Predicate_extload
18591/* 36775*/ OPC_CheckPredicate, 17, // Predicate_extloadvi32
18592/* 36777*/ OPC_CheckType, MVT::v2i64,
18593/* 36779*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18594/* 36781*/ OPC_EmitMergeInputChains1_0,
18595/* 36782*/ OPC_EmitInteger, MVT::i32, 0,
18596/* 36785*/ OPC_EmitInteger, MVT::i64, 0,
18597/* 36788*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
18598 MVT::v2i64, 3/*#Ops*/, 2, 3, 1,
18599 // Src: (ld:{ *:[v2i64] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadvi32>> - Complexity = 4
18600 // Dst: (LOAD_EXTEND_U_I64x2_A64:{ *:[v2i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
18601/* 36797*/ 0, /*End of Scope*/
18602/* 36798*/ 0, /*End of Scope*/
18603/* 36799*/ /*Scope*/ 91|128,2/*347*/, /*->37148*/
18604/* 36801*/ OPC_MoveChild1,
18605/* 36802*/ OPC_SwitchOpcode /*3 cases */, 105, TARGET_VAL(ISD::ADD),// ->36911
18606/* 36806*/ OPC_RecordChild0, // #1 = $addr
18607/* 36807*/ OPC_RecordChild1, // #2 = $off
18608/* 36808*/ OPC_MoveChild1,
18609/* 36809*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18610/* 36812*/ OPC_MoveParent,
18611/* 36813*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
18612/* 36815*/ OPC_SwitchType /*2 cases */, 45, MVT::i32,// ->36863
18613/* 36818*/ OPC_MoveParent,
18614/* 36819*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
18615/* 36821*/ OPC_CheckPredicate, 11, // Predicate_load
18616/* 36823*/ OPC_SwitchType /*2 cases */, 17, MVT::v4f32,// ->36843
18617/* 36826*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18618/* 36828*/ OPC_EmitMergeInputChains1_0,
18619/* 36829*/ OPC_EmitInteger, MVT::i32, 0,
18620/* 36832*/ OPC_EmitConvertToTarget, 2,
18621/* 36834*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
18622 MVT::v4f32, 3/*#Ops*/, 3, 4, 1,
18623 // Src: (ld:{ *:[v4f32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18624 // Dst: (LOAD_V128_A32:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18625/* 36843*/ /*SwitchType*/ 17, MVT::v2f64,// ->36862
18626/* 36845*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18627/* 36847*/ OPC_EmitMergeInputChains1_0,
18628/* 36848*/ OPC_EmitInteger, MVT::i32, 0,
18629/* 36851*/ OPC_EmitConvertToTarget, 2,
18630/* 36853*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
18631 MVT::v2f64, 3/*#Ops*/, 3, 4, 1,
18632 // Src: (ld:{ *:[v2f64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18633 // Dst: (LOAD_V128_A32:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18634/* 36862*/ 0, // EndSwitchType
18635/* 36863*/ /*SwitchType*/ 45, MVT::i64,// ->36910
18636/* 36865*/ OPC_MoveParent,
18637/* 36866*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
18638/* 36868*/ OPC_CheckPredicate, 11, // Predicate_load
18639/* 36870*/ OPC_SwitchType /*2 cases */, 17, MVT::v4f32,// ->36890
18640/* 36873*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18641/* 36875*/ OPC_EmitMergeInputChains1_0,
18642/* 36876*/ OPC_EmitInteger, MVT::i32, 0,
18643/* 36879*/ OPC_EmitConvertToTarget, 2,
18644/* 36881*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
18645 MVT::v4f32, 3/*#Ops*/, 3, 4, 1,
18646 // Src: (ld:{ *:[v4f32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18647 // Dst: (LOAD_V128_A64:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
18648/* 36890*/ /*SwitchType*/ 17, MVT::v2f64,// ->36909
18649/* 36892*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18650/* 36894*/ OPC_EmitMergeInputChains1_0,
18651/* 36895*/ OPC_EmitInteger, MVT::i32, 0,
18652/* 36898*/ OPC_EmitConvertToTarget, 2,
18653/* 36900*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
18654 MVT::v2f64, 3/*#Ops*/, 3, 4, 1,
18655 // Src: (ld:{ *:[v2f64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18656 // Dst: (LOAD_V128_A64:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
18657/* 36909*/ 0, // EndSwitchType
18658/* 36910*/ 0, // EndSwitchType
18659/* 36911*/ /*SwitchOpcode*/ 105, TARGET_VAL(ISD::OR),// ->37019
18660/* 36914*/ OPC_RecordChild0, // #1 = $addr
18661/* 36915*/ OPC_RecordChild1, // #2 = $off
18662/* 36916*/ OPC_MoveChild1,
18663/* 36917*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18664/* 36920*/ OPC_MoveParent,
18665/* 36921*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
18666/* 36923*/ OPC_SwitchType /*2 cases */, 45, MVT::i32,// ->36971
18667/* 36926*/ OPC_MoveParent,
18668/* 36927*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
18669/* 36929*/ OPC_CheckPredicate, 11, // Predicate_load
18670/* 36931*/ OPC_SwitchType /*2 cases */, 17, MVT::v4f32,// ->36951
18671/* 36934*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18672/* 36936*/ OPC_EmitMergeInputChains1_0,
18673/* 36937*/ OPC_EmitInteger, MVT::i32, 0,
18674/* 36940*/ OPC_EmitConvertToTarget, 2,
18675/* 36942*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
18676 MVT::v4f32, 3/*#Ops*/, 3, 4, 1,
18677 // Src: (ld:{ *:[v4f32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18678 // Dst: (LOAD_V128_A32:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18679/* 36951*/ /*SwitchType*/ 17, MVT::v2f64,// ->36970
18680/* 36953*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18681/* 36955*/ OPC_EmitMergeInputChains1_0,
18682/* 36956*/ OPC_EmitInteger, MVT::i32, 0,
18683/* 36959*/ OPC_EmitConvertToTarget, 2,
18684/* 36961*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
18685 MVT::v2f64, 3/*#Ops*/, 3, 4, 1,
18686 // Src: (ld:{ *:[v2f64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18687 // Dst: (LOAD_V128_A32:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18688/* 36970*/ 0, // EndSwitchType
18689/* 36971*/ /*SwitchType*/ 45, MVT::i64,// ->37018
18690/* 36973*/ OPC_MoveParent,
18691/* 36974*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
18692/* 36976*/ OPC_CheckPredicate, 11, // Predicate_load
18693/* 36978*/ OPC_SwitchType /*2 cases */, 17, MVT::v4f32,// ->36998
18694/* 36981*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18695/* 36983*/ OPC_EmitMergeInputChains1_0,
18696/* 36984*/ OPC_EmitInteger, MVT::i32, 0,
18697/* 36987*/ OPC_EmitConvertToTarget, 2,
18698/* 36989*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
18699 MVT::v4f32, 3/*#Ops*/, 3, 4, 1,
18700 // Src: (ld:{ *:[v4f32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18701 // Dst: (LOAD_V128_A64:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
18702/* 36998*/ /*SwitchType*/ 17, MVT::v2f64,// ->37017
18703/* 37000*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18704/* 37002*/ OPC_EmitMergeInputChains1_0,
18705/* 37003*/ OPC_EmitInteger, MVT::i32, 0,
18706/* 37006*/ OPC_EmitConvertToTarget, 2,
18707/* 37008*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
18708 MVT::v2f64, 3/*#Ops*/, 3, 4, 1,
18709 // Src: (ld:{ *:[v2f64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18710 // Dst: (LOAD_V128_A64:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
18711/* 37017*/ 0, // EndSwitchType
18712/* 37018*/ 0, // EndSwitchType
18713/* 37019*/ /*SwitchOpcode*/ 125, TARGET_VAL(WebAssemblyISD::Wrapper),// ->37147
18714/* 37022*/ OPC_RecordChild0, // #1 = $off
18715/* 37023*/ OPC_MoveChild0,
18716/* 37024*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
18717/* 37027*/ OPC_MoveParent,
18718/* 37028*/ OPC_MoveParent,
18719/* 37029*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
18720/* 37031*/ OPC_CheckPredicate, 11, // Predicate_load
18721/* 37033*/ OPC_SwitchType /*2 cases */, 54, MVT::v4f32,// ->37090
18722/* 37036*/ OPC_Scope, 25, /*->37063*/ // 2 children in Scope
18723/* 37038*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
18724/* 37040*/ OPC_EmitMergeInputChains1_0,
18725/* 37041*/ OPC_EmitInteger, MVT::i32, 0,
18726/* 37044*/ OPC_EmitInteger, MVT::i32, 0,
18727/* 37047*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18728 MVT::i32, 1/*#Ops*/, 3, // Results = #4
18729/* 37054*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
18730 MVT::v4f32, 3/*#Ops*/, 2, 1, 4,
18731 // Src: (ld:{ *:[v4f32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
18732 // Dst: (LOAD_V128_A32:{ *:[v4f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18733/* 37063*/ /*Scope*/ 25, /*->37089*/
18734/* 37064*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
18735/* 37066*/ OPC_EmitMergeInputChains1_0,
18736/* 37067*/ OPC_EmitInteger, MVT::i32, 0,
18737/* 37070*/ OPC_EmitInteger, MVT::i64, 0,
18738/* 37073*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
18739 MVT::i64, 1/*#Ops*/, 3, // Results = #4
18740/* 37080*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
18741 MVT::v4f32, 3/*#Ops*/, 2, 1, 4,
18742 // Src: (ld:{ *:[v4f32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
18743 // Dst: (LOAD_V128_A64:{ *:[v4f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
18744/* 37089*/ 0, /*End of Scope*/
18745/* 37090*/ /*SwitchType*/ 54, MVT::v2f64,// ->37146
18746/* 37092*/ OPC_Scope, 25, /*->37119*/ // 2 children in Scope
18747/* 37094*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
18748/* 37096*/ OPC_EmitMergeInputChains1_0,
18749/* 37097*/ OPC_EmitInteger, MVT::i32, 0,
18750/* 37100*/ OPC_EmitInteger, MVT::i32, 0,
18751/* 37103*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18752 MVT::i32, 1/*#Ops*/, 3, // Results = #4
18753/* 37110*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
18754 MVT::v2f64, 3/*#Ops*/, 2, 1, 4,
18755 // Src: (ld:{ *:[v2f64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
18756 // Dst: (LOAD_V128_A32:{ *:[v2f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18757/* 37119*/ /*Scope*/ 25, /*->37145*/
18758/* 37120*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
18759/* 37122*/ OPC_EmitMergeInputChains1_0,
18760/* 37123*/ OPC_EmitInteger, MVT::i32, 0,
18761/* 37126*/ OPC_EmitInteger, MVT::i64, 0,
18762/* 37129*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
18763 MVT::i64, 1/*#Ops*/, 3, // Results = #4
18764/* 37136*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
18765 MVT::v2f64, 3/*#Ops*/, 2, 1, 4,
18766 // Src: (ld:{ *:[v2f64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
18767 // Dst: (LOAD_V128_A64:{ *:[v2f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
18768/* 37145*/ 0, /*End of Scope*/
18769/* 37146*/ 0, // EndSwitchType
18770/* 37147*/ 0, // EndSwitchOpcode
18771/* 37148*/ /*Scope*/ 106|128,1/*234*/, /*->37384*/
18772/* 37150*/ OPC_RecordChild1, // #1 = $off
18773/* 37151*/ OPC_Scope, 3|128,1/*131*/, /*->37285*/ // 3 children in Scope
18774/* 37154*/ OPC_MoveChild1,
18775/* 37155*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18776/* 37158*/ OPC_MoveParent,
18777/* 37159*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
18778/* 37161*/ OPC_CheckPredicate, 11, // Predicate_load
18779/* 37163*/ OPC_SwitchType /*2 cases */, 58, MVT::v4f32,// ->37224
18780/* 37166*/ OPC_Scope, 27, /*->37195*/ // 2 children in Scope
18781/* 37168*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18782/* 37170*/ OPC_EmitMergeInputChains1_0,
18783/* 37171*/ OPC_EmitInteger, MVT::i32, 0,
18784/* 37174*/ OPC_EmitConvertToTarget, 1,
18785/* 37176*/ OPC_EmitInteger, MVT::i32, 0,
18786/* 37179*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18787 MVT::i32, 1/*#Ops*/, 4, // Results = #5
18788/* 37186*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
18789 MVT::v4f32, 3/*#Ops*/, 2, 3, 5,
18790 // Src: (ld:{ *:[v4f32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
18791 // Dst: (LOAD_V128_A32:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18792/* 37195*/ /*Scope*/ 27, /*->37223*/
18793/* 37196*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18794/* 37198*/ OPC_EmitMergeInputChains1_0,
18795/* 37199*/ OPC_EmitInteger, MVT::i32, 0,
18796/* 37202*/ OPC_EmitConvertToTarget, 1,
18797/* 37204*/ OPC_EmitInteger, MVT::i64, 0,
18798/* 37207*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
18799 MVT::i64, 1/*#Ops*/, 4, // Results = #5
18800/* 37214*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
18801 MVT::v4f32, 3/*#Ops*/, 2, 3, 5,
18802 // Src: (ld:{ *:[v4f32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
18803 // Dst: (LOAD_V128_A64:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
18804/* 37223*/ 0, /*End of Scope*/
18805/* 37224*/ /*SwitchType*/ 58, MVT::v2f64,// ->37284
18806/* 37226*/ OPC_Scope, 27, /*->37255*/ // 2 children in Scope
18807/* 37228*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18808/* 37230*/ OPC_EmitMergeInputChains1_0,
18809/* 37231*/ OPC_EmitInteger, MVT::i32, 0,
18810/* 37234*/ OPC_EmitConvertToTarget, 1,
18811/* 37236*/ OPC_EmitInteger, MVT::i32, 0,
18812/* 37239*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18813 MVT::i32, 1/*#Ops*/, 4, // Results = #5
18814/* 37246*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
18815 MVT::v2f64, 3/*#Ops*/, 2, 3, 5,
18816 // Src: (ld:{ *:[v2f64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
18817 // Dst: (LOAD_V128_A32:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18818/* 37255*/ /*Scope*/ 27, /*->37283*/
18819/* 37256*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18820/* 37258*/ OPC_EmitMergeInputChains1_0,
18821/* 37259*/ OPC_EmitInteger, MVT::i32, 0,
18822/* 37262*/ OPC_EmitConvertToTarget, 1,
18823/* 37264*/ OPC_EmitInteger, MVT::i64, 0,
18824/* 37267*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
18825 MVT::i64, 1/*#Ops*/, 4, // Results = #5
18826/* 37274*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
18827 MVT::v2f64, 3/*#Ops*/, 2, 3, 5,
18828 // Src: (ld:{ *:[v2f64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
18829 // Dst: (LOAD_V128_A64:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
18830/* 37283*/ 0, /*End of Scope*/
18831/* 37284*/ 0, // EndSwitchType
18832/* 37285*/ /*Scope*/ 48, /*->37334*/
18833/* 37286*/ OPC_CheckChild1Type, MVT::i32,
18834/* 37288*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
18835/* 37290*/ OPC_CheckPredicate, 11, // Predicate_load
18836/* 37292*/ OPC_SwitchType /*2 cases */, 18, MVT::v4f32,// ->37313
18837/* 37295*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18838/* 37297*/ OPC_EmitMergeInputChains1_0,
18839/* 37298*/ OPC_EmitInteger, MVT::i32, 0,
18840/* 37301*/ OPC_EmitInteger, MVT::i32, 0,
18841/* 37304*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
18842 MVT::v4f32, 3/*#Ops*/, 2, 3, 1,
18843 // Src: (ld:{ *:[v4f32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18844 // Dst: (LOAD_V128_A32:{ *:[v4f32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18845/* 37313*/ /*SwitchType*/ 18, MVT::v2f64,// ->37333
18846/* 37315*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18847/* 37317*/ OPC_EmitMergeInputChains1_0,
18848/* 37318*/ OPC_EmitInteger, MVT::i32, 0,
18849/* 37321*/ OPC_EmitInteger, MVT::i32, 0,
18850/* 37324*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
18851 MVT::v2f64, 3/*#Ops*/, 2, 3, 1,
18852 // Src: (ld:{ *:[v2f64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18853 // Dst: (LOAD_V128_A32:{ *:[v2f64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18854/* 37333*/ 0, // EndSwitchType
18855/* 37334*/ /*Scope*/ 48, /*->37383*/
18856/* 37335*/ OPC_CheckChild1Type, MVT::i64,
18857/* 37337*/ OPC_CheckPredicate, 10, // Predicate_unindexedload
18858/* 37339*/ OPC_CheckPredicate, 11, // Predicate_load
18859/* 37341*/ OPC_SwitchType /*2 cases */, 18, MVT::v4f32,// ->37362
18860/* 37344*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18861/* 37346*/ OPC_EmitMergeInputChains1_0,
18862/* 37347*/ OPC_EmitInteger, MVT::i32, 0,
18863/* 37350*/ OPC_EmitInteger, MVT::i64, 0,
18864/* 37353*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
18865 MVT::v4f32, 3/*#Ops*/, 2, 3, 1,
18866 // Src: (ld:{ *:[v4f32] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18867 // Dst: (LOAD_V128_A64:{ *:[v4f32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
18868/* 37362*/ /*SwitchType*/ 18, MVT::v2f64,// ->37382
18869/* 37364*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18870/* 37366*/ OPC_EmitMergeInputChains1_0,
18871/* 37367*/ OPC_EmitInteger, MVT::i32, 0,
18872/* 37370*/ OPC_EmitInteger, MVT::i64, 0,
18873/* 37373*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
18874 MVT::v2f64, 3/*#Ops*/, 2, 3, 1,
18875 // Src: (ld:{ *:[v2f64] } I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18876 // Dst: (LOAD_V128_A64:{ *:[v2f64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
18877/* 37382*/ 0, // EndSwitchType
18878/* 37383*/ 0, /*End of Scope*/
18879/* 37384*/ 0, /*End of Scope*/
18880/* 37385*/ /*SwitchOpcode*/ 83|128,47/*6099*/, TARGET_VAL(ISD::STORE),// ->43488
18881/* 37389*/ OPC_RecordMemRef,
18882/* 37390*/ OPC_RecordNode, // #0 = 'st' chained node
18883/* 37391*/ OPC_RecordChild1, // #1 = $val
18884/* 37392*/ OPC_Scope, 104|128,6/*872*/, /*->38267*/ // 10 children in Scope
18885/* 37395*/ OPC_CheckChild1Type, MVT::i32,
18886/* 37397*/ OPC_Scope, 0|128,4/*512*/, /*->37912*/ // 2 children in Scope
18887/* 37400*/ OPC_MoveChild2,
18888/* 37401*/ OPC_SwitchOpcode /*3 cases */, 27|128,1/*155*/, TARGET_VAL(ISD::ADD),// ->37561
18889/* 37406*/ OPC_RecordChild0, // #2 = $addr
18890/* 37407*/ OPC_RecordChild1, // #3 = $off
18891/* 37408*/ OPC_MoveChild1,
18892/* 37409*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18893/* 37412*/ OPC_MoveParent,
18894/* 37413*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
18895/* 37415*/ OPC_SwitchType /*2 cases */, 70, MVT::i32,// ->37488
18896/* 37418*/ OPC_MoveParent,
18897/* 37419*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
18898/* 37421*/ OPC_Scope, 19, /*->37442*/ // 2 children in Scope
18899/* 37423*/ OPC_CheckPredicate, 19, // Predicate_store
18900/* 37425*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18901/* 37427*/ OPC_EmitMergeInputChains1_0,
18902/* 37428*/ OPC_EmitInteger, MVT::i32, 0,
18903/* 37431*/ OPC_EmitConvertToTarget, 3,
18904/* 37433*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
18905 4/*#Ops*/, 4, 5, 2, 1,
18906 // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
18907 // Dst: (STORE_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
18908/* 37442*/ /*Scope*/ 44, /*->37487*/
18909/* 37443*/ OPC_CheckPredicate, 20, // Predicate_truncstore
18910/* 37445*/ OPC_Scope, 19, /*->37466*/ // 2 children in Scope
18911/* 37447*/ OPC_CheckPredicate, 1, // Predicate_truncstorei8
18912/* 37449*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18913/* 37451*/ OPC_EmitMergeInputChains1_0,
18914/* 37452*/ OPC_EmitInteger, MVT::i32, 0,
18915/* 37455*/ OPC_EmitConvertToTarget, 3,
18916/* 37457*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
18917 4/*#Ops*/, 4, 5, 2, 1,
18918 // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 11
18919 // Dst: (STORE8_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
18920/* 37466*/ /*Scope*/ 19, /*->37486*/
18921/* 37467*/ OPC_CheckPredicate, 2, // Predicate_truncstorei16
18922/* 37469*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18923/* 37471*/ OPC_EmitMergeInputChains1_0,
18924/* 37472*/ OPC_EmitInteger, MVT::i32, 0,
18925/* 37475*/ OPC_EmitConvertToTarget, 3,
18926/* 37477*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
18927 4/*#Ops*/, 4, 5, 2, 1,
18928 // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 11
18929 // Dst: (STORE16_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
18930/* 37486*/ 0, /*End of Scope*/
18931/* 37487*/ 0, /*End of Scope*/
18932/* 37488*/ /*SwitchType*/ 70, MVT::i64,// ->37560
18933/* 37490*/ OPC_MoveParent,
18934/* 37491*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
18935/* 37493*/ OPC_Scope, 19, /*->37514*/ // 2 children in Scope
18936/* 37495*/ OPC_CheckPredicate, 19, // Predicate_store
18937/* 37497*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18938/* 37499*/ OPC_EmitMergeInputChains1_0,
18939/* 37500*/ OPC_EmitInteger, MVT::i32, 0,
18940/* 37503*/ OPC_EmitConvertToTarget, 3,
18941/* 37505*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
18942 4/*#Ops*/, 4, 5, 2, 1,
18943 // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
18944 // Dst: (STORE_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
18945/* 37514*/ /*Scope*/ 44, /*->37559*/
18946/* 37515*/ OPC_CheckPredicate, 20, // Predicate_truncstore
18947/* 37517*/ OPC_Scope, 19, /*->37538*/ // 2 children in Scope
18948/* 37519*/ OPC_CheckPredicate, 1, // Predicate_truncstorei8
18949/* 37521*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18950/* 37523*/ OPC_EmitMergeInputChains1_0,
18951/* 37524*/ OPC_EmitInteger, MVT::i32, 0,
18952/* 37527*/ OPC_EmitConvertToTarget, 3,
18953/* 37529*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
18954 4/*#Ops*/, 4, 5, 2, 1,
18955 // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 11
18956 // Dst: (STORE8_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
18957/* 37538*/ /*Scope*/ 19, /*->37558*/
18958/* 37539*/ OPC_CheckPredicate, 2, // Predicate_truncstorei16
18959/* 37541*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
18960/* 37543*/ OPC_EmitMergeInputChains1_0,
18961/* 37544*/ OPC_EmitInteger, MVT::i32, 0,
18962/* 37547*/ OPC_EmitConvertToTarget, 3,
18963/* 37549*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
18964 4/*#Ops*/, 4, 5, 2, 1,
18965 // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 11
18966 // Dst: (STORE16_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
18967/* 37558*/ 0, /*End of Scope*/
18968/* 37559*/ 0, /*End of Scope*/
18969/* 37560*/ 0, // EndSwitchType
18970/* 37561*/ /*SwitchOpcode*/ 27|128,1/*155*/, TARGET_VAL(ISD::OR),// ->37720
18971/* 37565*/ OPC_RecordChild0, // #2 = $addr
18972/* 37566*/ OPC_RecordChild1, // #3 = $off
18973/* 37567*/ OPC_MoveChild1,
18974/* 37568*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18975/* 37571*/ OPC_MoveParent,
18976/* 37572*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
18977/* 37574*/ OPC_SwitchType /*2 cases */, 70, MVT::i32,// ->37647
18978/* 37577*/ OPC_MoveParent,
18979/* 37578*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
18980/* 37580*/ OPC_Scope, 19, /*->37601*/ // 2 children in Scope
18981/* 37582*/ OPC_CheckPredicate, 19, // Predicate_store
18982/* 37584*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18983/* 37586*/ OPC_EmitMergeInputChains1_0,
18984/* 37587*/ OPC_EmitInteger, MVT::i32, 0,
18985/* 37590*/ OPC_EmitConvertToTarget, 3,
18986/* 37592*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
18987 4/*#Ops*/, 4, 5, 2, 1,
18988 // Src: (st i32:{ *:[i32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
18989 // Dst: (STORE_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
18990/* 37601*/ /*Scope*/ 44, /*->37646*/
18991/* 37602*/ OPC_CheckPredicate, 20, // Predicate_truncstore
18992/* 37604*/ OPC_Scope, 19, /*->37625*/ // 2 children in Scope
18993/* 37606*/ OPC_CheckPredicate, 1, // Predicate_truncstorei8
18994/* 37608*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
18995/* 37610*/ OPC_EmitMergeInputChains1_0,
18996/* 37611*/ OPC_EmitInteger, MVT::i32, 0,
18997/* 37614*/ OPC_EmitConvertToTarget, 3,
18998/* 37616*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
18999 4/*#Ops*/, 4, 5, 2, 1,
19000 // Src: (st i32:{ *:[i32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 11
19001 // Dst: (STORE8_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19002/* 37625*/ /*Scope*/ 19, /*->37645*/
19003/* 37626*/ OPC_CheckPredicate, 2, // Predicate_truncstorei16
19004/* 37628*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19005/* 37630*/ OPC_EmitMergeInputChains1_0,
19006/* 37631*/ OPC_EmitInteger, MVT::i32, 0,
19007/* 37634*/ OPC_EmitConvertToTarget, 3,
19008/* 37636*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
19009 4/*#Ops*/, 4, 5, 2, 1,
19010 // Src: (st i32:{ *:[i32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 11
19011 // Dst: (STORE16_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19012/* 37645*/ 0, /*End of Scope*/
19013/* 37646*/ 0, /*End of Scope*/
19014/* 37647*/ /*SwitchType*/ 70, MVT::i64,// ->37719
19015/* 37649*/ OPC_MoveParent,
19016/* 37650*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19017/* 37652*/ OPC_Scope, 19, /*->37673*/ // 2 children in Scope
19018/* 37654*/ OPC_CheckPredicate, 19, // Predicate_store
19019/* 37656*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19020/* 37658*/ OPC_EmitMergeInputChains1_0,
19021/* 37659*/ OPC_EmitInteger, MVT::i32, 0,
19022/* 37662*/ OPC_EmitConvertToTarget, 3,
19023/* 37664*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19024 4/*#Ops*/, 4, 5, 2, 1,
19025 // Src: (st i32:{ *:[i32] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
19026 // Dst: (STORE_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
19027/* 37673*/ /*Scope*/ 44, /*->37718*/
19028/* 37674*/ OPC_CheckPredicate, 20, // Predicate_truncstore
19029/* 37676*/ OPC_Scope, 19, /*->37697*/ // 2 children in Scope
19030/* 37678*/ OPC_CheckPredicate, 1, // Predicate_truncstorei8
19031/* 37680*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19032/* 37682*/ OPC_EmitMergeInputChains1_0,
19033/* 37683*/ OPC_EmitInteger, MVT::i32, 0,
19034/* 37686*/ OPC_EmitConvertToTarget, 3,
19035/* 37688*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19036 4/*#Ops*/, 4, 5, 2, 1,
19037 // Src: (st i32:{ *:[i32] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 11
19038 // Dst: (STORE8_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
19039/* 37697*/ /*Scope*/ 19, /*->37717*/
19040/* 37698*/ OPC_CheckPredicate, 2, // Predicate_truncstorei16
19041/* 37700*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19042/* 37702*/ OPC_EmitMergeInputChains1_0,
19043/* 37703*/ OPC_EmitInteger, MVT::i32, 0,
19044/* 37706*/ OPC_EmitConvertToTarget, 3,
19045/* 37708*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19046 4/*#Ops*/, 4, 5, 2, 1,
19047 // Src: (st i32:{ *:[i32] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 11
19048 // Dst: (STORE16_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
19049/* 37717*/ 0, /*End of Scope*/
19050/* 37718*/ 0, /*End of Scope*/
19051/* 37719*/ 0, // EndSwitchType
19052/* 37720*/ /*SwitchOpcode*/ 59|128,1/*187*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->37911
19053/* 37724*/ OPC_RecordChild0, // #2 = $off
19054/* 37725*/ OPC_MoveChild0,
19055/* 37726*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
19056/* 37729*/ OPC_MoveParent,
19057/* 37730*/ OPC_MoveParent,
19058/* 37731*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19059/* 37733*/ OPC_Scope, 56, /*->37791*/ // 2 children in Scope
19060/* 37735*/ OPC_CheckPredicate, 19, // Predicate_store
19061/* 37737*/ OPC_Scope, 25, /*->37764*/ // 2 children in Scope
19062/* 37739*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
19063/* 37741*/ OPC_EmitMergeInputChains1_0,
19064/* 37742*/ OPC_EmitInteger, MVT::i32, 0,
19065/* 37745*/ OPC_EmitInteger, MVT::i32, 0,
19066/* 37748*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19067 MVT::i32, 1/*#Ops*/, 4, // Results = #5
19068/* 37755*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
19069 4/*#Ops*/, 3, 2, 5, 1,
19070 // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
19071 // Dst: (STORE_I32_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
19072/* 37764*/ /*Scope*/ 25, /*->37790*/
19073/* 37765*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
19074/* 37767*/ OPC_EmitMergeInputChains1_0,
19075/* 37768*/ OPC_EmitInteger, MVT::i32, 0,
19076/* 37771*/ OPC_EmitInteger, MVT::i64, 0,
19077/* 37774*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
19078 MVT::i64, 1/*#Ops*/, 4, // Results = #5
19079/* 37781*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19080 4/*#Ops*/, 3, 2, 5, 1,
19081 // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
19082 // Dst: (STORE_I32_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
19083/* 37790*/ 0, /*End of Scope*/
19084/* 37791*/ /*Scope*/ 118, /*->37910*/
19085/* 37792*/ OPC_CheckPredicate, 20, // Predicate_truncstore
19086/* 37794*/ OPC_Scope, 56, /*->37852*/ // 2 children in Scope
19087/* 37796*/ OPC_CheckPredicate, 1, // Predicate_truncstorei8
19088/* 37798*/ OPC_Scope, 25, /*->37825*/ // 2 children in Scope
19089/* 37800*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
19090/* 37802*/ OPC_EmitMergeInputChains1_0,
19091/* 37803*/ OPC_EmitInteger, MVT::i32, 0,
19092/* 37806*/ OPC_EmitInteger, MVT::i32, 0,
19093/* 37809*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19094 MVT::i32, 1/*#Ops*/, 4, // Results = #5
19095/* 37816*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
19096 4/*#Ops*/, 3, 2, 5, 1,
19097 // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 10
19098 // Dst: (STORE8_I32_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
19099/* 37825*/ /*Scope*/ 25, /*->37851*/
19100/* 37826*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
19101/* 37828*/ OPC_EmitMergeInputChains1_0,
19102/* 37829*/ OPC_EmitInteger, MVT::i32, 0,
19103/* 37832*/ OPC_EmitInteger, MVT::i64, 0,
19104/* 37835*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
19105 MVT::i64, 1/*#Ops*/, 4, // Results = #5
19106/* 37842*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19107 4/*#Ops*/, 3, 2, 5, 1,
19108 // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 10
19109 // Dst: (STORE8_I32_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
19110/* 37851*/ 0, /*End of Scope*/
19111/* 37852*/ /*Scope*/ 56, /*->37909*/
19112/* 37853*/ OPC_CheckPredicate, 2, // Predicate_truncstorei16
19113/* 37855*/ OPC_Scope, 25, /*->37882*/ // 2 children in Scope
19114/* 37857*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
19115/* 37859*/ OPC_EmitMergeInputChains1_0,
19116/* 37860*/ OPC_EmitInteger, MVT::i32, 0,
19117/* 37863*/ OPC_EmitInteger, MVT::i32, 0,
19118/* 37866*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19119 MVT::i32, 1/*#Ops*/, 4, // Results = #5
19120/* 37873*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
19121 4/*#Ops*/, 3, 2, 5, 1,
19122 // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 10
19123 // Dst: (STORE16_I32_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
19124/* 37882*/ /*Scope*/ 25, /*->37908*/
19125/* 37883*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
19126/* 37885*/ OPC_EmitMergeInputChains1_0,
19127/* 37886*/ OPC_EmitInteger, MVT::i32, 0,
19128/* 37889*/ OPC_EmitInteger, MVT::i64, 0,
19129/* 37892*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
19130 MVT::i64, 1/*#Ops*/, 4, // Results = #5
19131/* 37899*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19132 4/*#Ops*/, 3, 2, 5, 1,
19133 // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 10
19134 // Dst: (STORE16_I32_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
19135/* 37908*/ 0, /*End of Scope*/
19136/* 37909*/ 0, /*End of Scope*/
19137/* 37910*/ 0, /*End of Scope*/
19138/* 37911*/ 0, // EndSwitchOpcode
19139/* 37912*/ /*Scope*/ 96|128,2/*352*/, /*->38266*/
19140/* 37914*/ OPC_RecordChild2, // #2 = $off
19141/* 37915*/ OPC_Scope, 69|128,1/*197*/, /*->38115*/ // 3 children in Scope
19142/* 37918*/ OPC_MoveChild2,
19143/* 37919*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
19144/* 37922*/ OPC_MoveParent,
19145/* 37923*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19146/* 37925*/ OPC_Scope, 60, /*->37987*/ // 2 children in Scope
19147/* 37927*/ OPC_CheckPredicate, 19, // Predicate_store
19148/* 37929*/ OPC_Scope, 27, /*->37958*/ // 2 children in Scope
19149/* 37931*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19150/* 37933*/ OPC_EmitMergeInputChains1_0,
19151/* 37934*/ OPC_EmitInteger, MVT::i32, 0,
19152/* 37937*/ OPC_EmitConvertToTarget, 2,
19153/* 37939*/ OPC_EmitInteger, MVT::i32, 0,
19154/* 37942*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19155 MVT::i32, 1/*#Ops*/, 5, // Results = #6
19156/* 37949*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
19157 4/*#Ops*/, 3, 4, 6, 1,
19158 // Src: (st i32:{ *:[i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
19159 // Dst: (STORE_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
19160/* 37958*/ /*Scope*/ 27, /*->37986*/
19161/* 37959*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19162/* 37961*/ OPC_EmitMergeInputChains1_0,
19163/* 37962*/ OPC_EmitInteger, MVT::i32, 0,
19164/* 37965*/ OPC_EmitConvertToTarget, 2,
19165/* 37967*/ OPC_EmitInteger, MVT::i64, 0,
19166/* 37970*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
19167 MVT::i64, 1/*#Ops*/, 5, // Results = #6
19168/* 37977*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19169 4/*#Ops*/, 3, 4, 6, 1,
19170 // Src: (st i32:{ *:[i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
19171 // Dst: (STORE_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
19172/* 37986*/ 0, /*End of Scope*/
19173/* 37987*/ /*Scope*/ 126, /*->38114*/
19174/* 37988*/ OPC_CheckPredicate, 20, // Predicate_truncstore
19175/* 37990*/ OPC_Scope, 60, /*->38052*/ // 2 children in Scope
19176/* 37992*/ OPC_CheckPredicate, 1, // Predicate_truncstorei8
19177/* 37994*/ OPC_Scope, 27, /*->38023*/ // 2 children in Scope
19178/* 37996*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19179/* 37998*/ OPC_EmitMergeInputChains1_0,
19180/* 37999*/ OPC_EmitInteger, MVT::i32, 0,
19181/* 38002*/ OPC_EmitConvertToTarget, 2,
19182/* 38004*/ OPC_EmitInteger, MVT::i32, 0,
19183/* 38007*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19184 MVT::i32, 1/*#Ops*/, 5, // Results = #6
19185/* 38014*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
19186 4/*#Ops*/, 3, 4, 6, 1,
19187 // Src: (st i32:{ *:[i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 7
19188 // Dst: (STORE8_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
19189/* 38023*/ /*Scope*/ 27, /*->38051*/
19190/* 38024*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19191/* 38026*/ OPC_EmitMergeInputChains1_0,
19192/* 38027*/ OPC_EmitInteger, MVT::i32, 0,
19193/* 38030*/ OPC_EmitConvertToTarget, 2,
19194/* 38032*/ OPC_EmitInteger, MVT::i64, 0,
19195/* 38035*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
19196 MVT::i64, 1/*#Ops*/, 5, // Results = #6
19197/* 38042*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19198 4/*#Ops*/, 3, 4, 6, 1,
19199 // Src: (st i32:{ *:[i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 7
19200 // Dst: (STORE8_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
19201/* 38051*/ 0, /*End of Scope*/
19202/* 38052*/ /*Scope*/ 60, /*->38113*/
19203/* 38053*/ OPC_CheckPredicate, 2, // Predicate_truncstorei16
19204/* 38055*/ OPC_Scope, 27, /*->38084*/ // 2 children in Scope
19205/* 38057*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19206/* 38059*/ OPC_EmitMergeInputChains1_0,
19207/* 38060*/ OPC_EmitInteger, MVT::i32, 0,
19208/* 38063*/ OPC_EmitConvertToTarget, 2,
19209/* 38065*/ OPC_EmitInteger, MVT::i32, 0,
19210/* 38068*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19211 MVT::i32, 1/*#Ops*/, 5, // Results = #6
19212/* 38075*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
19213 4/*#Ops*/, 3, 4, 6, 1,
19214 // Src: (st i32:{ *:[i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 7
19215 // Dst: (STORE16_I32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
19216/* 38084*/ /*Scope*/ 27, /*->38112*/
19217/* 38085*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19218/* 38087*/ OPC_EmitMergeInputChains1_0,
19219/* 38088*/ OPC_EmitInteger, MVT::i32, 0,
19220/* 38091*/ OPC_EmitConvertToTarget, 2,
19221/* 38093*/ OPC_EmitInteger, MVT::i64, 0,
19222/* 38096*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
19223 MVT::i64, 1/*#Ops*/, 5, // Results = #6
19224/* 38103*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19225 4/*#Ops*/, 3, 4, 6, 1,
19226 // Src: (st i32:{ *:[i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 7
19227 // Dst: (STORE16_I32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
19228/* 38112*/ 0, /*End of Scope*/
19229/* 38113*/ 0, /*End of Scope*/
19230/* 38114*/ 0, /*End of Scope*/
19231/* 38115*/ /*Scope*/ 74, /*->38190*/
19232/* 38116*/ OPC_CheckChild2Type, MVT::i32,
19233/* 38118*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19234/* 38120*/ OPC_Scope, 20, /*->38142*/ // 2 children in Scope
19235/* 38122*/ OPC_CheckPredicate, 19, // Predicate_store
19236/* 38124*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19237/* 38126*/ OPC_EmitMergeInputChains1_0,
19238/* 38127*/ OPC_EmitInteger, MVT::i32, 0,
19239/* 38130*/ OPC_EmitInteger, MVT::i32, 0,
19240/* 38133*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
19241 4/*#Ops*/, 3, 4, 2, 1,
19242 // Src: (st i32:{ *:[i32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
19243 // Dst: (STORE_I32_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19244/* 38142*/ /*Scope*/ 46, /*->38189*/
19245/* 38143*/ OPC_CheckPredicate, 20, // Predicate_truncstore
19246/* 38145*/ OPC_Scope, 20, /*->38167*/ // 2 children in Scope
19247/* 38147*/ OPC_CheckPredicate, 1, // Predicate_truncstorei8
19248/* 38149*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19249/* 38151*/ OPC_EmitMergeInputChains1_0,
19250/* 38152*/ OPC_EmitInteger, MVT::i32, 0,
19251/* 38155*/ OPC_EmitInteger, MVT::i32, 0,
19252/* 38158*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
19253 4/*#Ops*/, 3, 4, 2, 1,
19254 // Src: (st i32:{ *:[i32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 4
19255 // Dst: (STORE8_I32_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19256/* 38167*/ /*Scope*/ 20, /*->38188*/
19257/* 38168*/ OPC_CheckPredicate, 2, // Predicate_truncstorei16
19258/* 38170*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19259/* 38172*/ OPC_EmitMergeInputChains1_0,
19260/* 38173*/ OPC_EmitInteger, MVT::i32, 0,
19261/* 38176*/ OPC_EmitInteger, MVT::i32, 0,
19262/* 38179*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
19263 4/*#Ops*/, 3, 4, 2, 1,
19264 // Src: (st i32:{ *:[i32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 4
19265 // Dst: (STORE16_I32_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19266/* 38188*/ 0, /*End of Scope*/
19267/* 38189*/ 0, /*End of Scope*/
19268/* 38190*/ /*Scope*/ 74, /*->38265*/
19269/* 38191*/ OPC_CheckChild2Type, MVT::i64,
19270/* 38193*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19271/* 38195*/ OPC_Scope, 20, /*->38217*/ // 2 children in Scope
19272/* 38197*/ OPC_CheckPredicate, 19, // Predicate_store
19273/* 38199*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19274/* 38201*/ OPC_EmitMergeInputChains1_0,
19275/* 38202*/ OPC_EmitInteger, MVT::i32, 0,
19276/* 38205*/ OPC_EmitInteger, MVT::i64, 0,
19277/* 38208*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19278 4/*#Ops*/, 3, 4, 2, 1,
19279 // Src: (st i32:{ *:[i32] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
19280 // Dst: (STORE_I32_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
19281/* 38217*/ /*Scope*/ 46, /*->38264*/
19282/* 38218*/ OPC_CheckPredicate, 20, // Predicate_truncstore
19283/* 38220*/ OPC_Scope, 20, /*->38242*/ // 2 children in Scope
19284/* 38222*/ OPC_CheckPredicate, 1, // Predicate_truncstorei8
19285/* 38224*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19286/* 38226*/ OPC_EmitMergeInputChains1_0,
19287/* 38227*/ OPC_EmitInteger, MVT::i32, 0,
19288/* 38230*/ OPC_EmitInteger, MVT::i64, 0,
19289/* 38233*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19290 4/*#Ops*/, 3, 4, 2, 1,
19291 // Src: (st i32:{ *:[i32] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 4
19292 // Dst: (STORE8_I32_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
19293/* 38242*/ /*Scope*/ 20, /*->38263*/
19294/* 38243*/ OPC_CheckPredicate, 2, // Predicate_truncstorei16
19295/* 38245*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19296/* 38247*/ OPC_EmitMergeInputChains1_0,
19297/* 38248*/ OPC_EmitInteger, MVT::i32, 0,
19298/* 38251*/ OPC_EmitInteger, MVT::i64, 0,
19299/* 38254*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19300 4/*#Ops*/, 3, 4, 2, 1,
19301 // Src: (st i32:{ *:[i32] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 4
19302 // Dst: (STORE16_I32_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
19303/* 38263*/ 0, /*End of Scope*/
19304/* 38264*/ 0, /*End of Scope*/
19305/* 38265*/ 0, /*End of Scope*/
19306/* 38266*/ 0, /*End of Scope*/
19307/* 38267*/ /*Scope*/ 90|128,8/*1114*/, /*->39383*/
19308/* 38269*/ OPC_CheckChild1Type, MVT::i64,
19309/* 38271*/ OPC_Scope, 10|128,5/*650*/, /*->38924*/ // 2 children in Scope
19310/* 38274*/ OPC_MoveChild2,
19311/* 38275*/ OPC_SwitchOpcode /*3 cases */, 67|128,1/*195*/, TARGET_VAL(ISD::ADD),// ->38475
19312/* 38280*/ OPC_RecordChild0, // #2 = $addr
19313/* 38281*/ OPC_RecordChild1, // #3 = $off
19314/* 38282*/ OPC_MoveChild1,
19315/* 38283*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
19316/* 38286*/ OPC_MoveParent,
19317/* 38287*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
19318/* 38289*/ OPC_SwitchType /*2 cases */, 90, MVT::i32,// ->38382
19319/* 38292*/ OPC_MoveParent,
19320/* 38293*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19321/* 38295*/ OPC_Scope, 19, /*->38316*/ // 2 children in Scope
19322/* 38297*/ OPC_CheckPredicate, 19, // Predicate_store
19323/* 38299*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19324/* 38301*/ OPC_EmitMergeInputChains1_0,
19325/* 38302*/ OPC_EmitInteger, MVT::i32, 0,
19326/* 38305*/ OPC_EmitConvertToTarget, 3,
19327/* 38307*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19328 4/*#Ops*/, 4, 5, 2, 1,
19329 // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
19330 // Dst: (STORE_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19331/* 38316*/ /*Scope*/ 64, /*->38381*/
19332/* 38317*/ OPC_CheckPredicate, 20, // Predicate_truncstore
19333/* 38319*/ OPC_Scope, 19, /*->38340*/ // 3 children in Scope
19334/* 38321*/ OPC_CheckPredicate, 1, // Predicate_truncstorei8
19335/* 38323*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19336/* 38325*/ OPC_EmitMergeInputChains1_0,
19337/* 38326*/ OPC_EmitInteger, MVT::i32, 0,
19338/* 38329*/ OPC_EmitConvertToTarget, 3,
19339/* 38331*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19340 4/*#Ops*/, 4, 5, 2, 1,
19341 // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 11
19342 // Dst: (STORE8_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19343/* 38340*/ /*Scope*/ 19, /*->38360*/
19344/* 38341*/ OPC_CheckPredicate, 2, // Predicate_truncstorei16
19345/* 38343*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19346/* 38345*/ OPC_EmitMergeInputChains1_0,
19347/* 38346*/ OPC_EmitInteger, MVT::i32, 0,
19348/* 38349*/ OPC_EmitConvertToTarget, 3,
19349/* 38351*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19350 4/*#Ops*/, 4, 5, 2, 1,
19351 // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 11
19352 // Dst: (STORE16_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19353/* 38360*/ /*Scope*/ 19, /*->38380*/
19354/* 38361*/ OPC_CheckPredicate, 6, // Predicate_truncstorei32
19355/* 38363*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19356/* 38365*/ OPC_EmitMergeInputChains1_0,
19357/* 38366*/ OPC_EmitInteger, MVT::i32, 0,
19358/* 38369*/ OPC_EmitConvertToTarget, 3,
19359/* 38371*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19360 4/*#Ops*/, 4, 5, 2, 1,
19361 // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 11
19362 // Dst: (STORE32_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19363/* 38380*/ 0, /*End of Scope*/
19364/* 38381*/ 0, /*End of Scope*/
19365/* 38382*/ /*SwitchType*/ 90, MVT::i64,// ->38474
19366/* 38384*/ OPC_MoveParent,
19367/* 38385*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19368/* 38387*/ OPC_Scope, 19, /*->38408*/ // 2 children in Scope
19369/* 38389*/ OPC_CheckPredicate, 19, // Predicate_store
19370/* 38391*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19371/* 38393*/ OPC_EmitMergeInputChains1_0,
19372/* 38394*/ OPC_EmitInteger, MVT::i32, 0,
19373/* 38397*/ OPC_EmitConvertToTarget, 3,
19374/* 38399*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19375 4/*#Ops*/, 4, 5, 2, 1,
19376 // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
19377 // Dst: (STORE_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
19378/* 38408*/ /*Scope*/ 64, /*->38473*/
19379/* 38409*/ OPC_CheckPredicate, 20, // Predicate_truncstore
19380/* 38411*/ OPC_Scope, 19, /*->38432*/ // 3 children in Scope
19381/* 38413*/ OPC_CheckPredicate, 1, // Predicate_truncstorei8
19382/* 38415*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19383/* 38417*/ OPC_EmitMergeInputChains1_0,
19384/* 38418*/ OPC_EmitInteger, MVT::i32, 0,
19385/* 38421*/ OPC_EmitConvertToTarget, 3,
19386/* 38423*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19387 4/*#Ops*/, 4, 5, 2, 1,
19388 // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 11
19389 // Dst: (STORE8_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
19390/* 38432*/ /*Scope*/ 19, /*->38452*/
19391/* 38433*/ OPC_CheckPredicate, 2, // Predicate_truncstorei16
19392/* 38435*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19393/* 38437*/ OPC_EmitMergeInputChains1_0,
19394/* 38438*/ OPC_EmitInteger, MVT::i32, 0,
19395/* 38441*/ OPC_EmitConvertToTarget, 3,
19396/* 38443*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19397 4/*#Ops*/, 4, 5, 2, 1,
19398 // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 11
19399 // Dst: (STORE16_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
19400/* 38452*/ /*Scope*/ 19, /*->38472*/
19401/* 38453*/ OPC_CheckPredicate, 6, // Predicate_truncstorei32
19402/* 38455*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19403/* 38457*/ OPC_EmitMergeInputChains1_0,
19404/* 38458*/ OPC_EmitInteger, MVT::i32, 0,
19405/* 38461*/ OPC_EmitConvertToTarget, 3,
19406/* 38463*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19407 4/*#Ops*/, 4, 5, 2, 1,
19408 // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 11
19409 // Dst: (STORE32_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
19410/* 38472*/ 0, /*End of Scope*/
19411/* 38473*/ 0, /*End of Scope*/
19412/* 38474*/ 0, // EndSwitchType
19413/* 38475*/ /*SwitchOpcode*/ 67|128,1/*195*/, TARGET_VAL(ISD::OR),// ->38674
19414/* 38479*/ OPC_RecordChild0, // #2 = $addr
19415/* 38480*/ OPC_RecordChild1, // #3 = $off
19416/* 38481*/ OPC_MoveChild1,
19417/* 38482*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
19418/* 38485*/ OPC_MoveParent,
19419/* 38486*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
19420/* 38488*/ OPC_SwitchType /*2 cases */, 90, MVT::i32,// ->38581
19421/* 38491*/ OPC_MoveParent,
19422/* 38492*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19423/* 38494*/ OPC_Scope, 19, /*->38515*/ // 2 children in Scope
19424/* 38496*/ OPC_CheckPredicate, 19, // Predicate_store
19425/* 38498*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19426/* 38500*/ OPC_EmitMergeInputChains1_0,
19427/* 38501*/ OPC_EmitInteger, MVT::i32, 0,
19428/* 38504*/ OPC_EmitConvertToTarget, 3,
19429/* 38506*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19430 4/*#Ops*/, 4, 5, 2, 1,
19431 // Src: (st i64:{ *:[i64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
19432 // Dst: (STORE_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19433/* 38515*/ /*Scope*/ 64, /*->38580*/
19434/* 38516*/ OPC_CheckPredicate, 20, // Predicate_truncstore
19435/* 38518*/ OPC_Scope, 19, /*->38539*/ // 3 children in Scope
19436/* 38520*/ OPC_CheckPredicate, 1, // Predicate_truncstorei8
19437/* 38522*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19438/* 38524*/ OPC_EmitMergeInputChains1_0,
19439/* 38525*/ OPC_EmitInteger, MVT::i32, 0,
19440/* 38528*/ OPC_EmitConvertToTarget, 3,
19441/* 38530*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19442 4/*#Ops*/, 4, 5, 2, 1,
19443 // Src: (st i64:{ *:[i64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 11
19444 // Dst: (STORE8_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19445/* 38539*/ /*Scope*/ 19, /*->38559*/
19446/* 38540*/ OPC_CheckPredicate, 2, // Predicate_truncstorei16
19447/* 38542*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19448/* 38544*/ OPC_EmitMergeInputChains1_0,
19449/* 38545*/ OPC_EmitInteger, MVT::i32, 0,
19450/* 38548*/ OPC_EmitConvertToTarget, 3,
19451/* 38550*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19452 4/*#Ops*/, 4, 5, 2, 1,
19453 // Src: (st i64:{ *:[i64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 11
19454 // Dst: (STORE16_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19455/* 38559*/ /*Scope*/ 19, /*->38579*/
19456/* 38560*/ OPC_CheckPredicate, 6, // Predicate_truncstorei32
19457/* 38562*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19458/* 38564*/ OPC_EmitMergeInputChains1_0,
19459/* 38565*/ OPC_EmitInteger, MVT::i32, 0,
19460/* 38568*/ OPC_EmitConvertToTarget, 3,
19461/* 38570*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19462 4/*#Ops*/, 4, 5, 2, 1,
19463 // Src: (st i64:{ *:[i64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 11
19464 // Dst: (STORE32_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19465/* 38579*/ 0, /*End of Scope*/
19466/* 38580*/ 0, /*End of Scope*/
19467/* 38581*/ /*SwitchType*/ 90, MVT::i64,// ->38673
19468/* 38583*/ OPC_MoveParent,
19469/* 38584*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19470/* 38586*/ OPC_Scope, 19, /*->38607*/ // 2 children in Scope
19471/* 38588*/ OPC_CheckPredicate, 19, // Predicate_store
19472/* 38590*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19473/* 38592*/ OPC_EmitMergeInputChains1_0,
19474/* 38593*/ OPC_EmitInteger, MVT::i32, 0,
19475/* 38596*/ OPC_EmitConvertToTarget, 3,
19476/* 38598*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19477 4/*#Ops*/, 4, 5, 2, 1,
19478 // Src: (st i64:{ *:[i64] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
19479 // Dst: (STORE_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
19480/* 38607*/ /*Scope*/ 64, /*->38672*/
19481/* 38608*/ OPC_CheckPredicate, 20, // Predicate_truncstore
19482/* 38610*/ OPC_Scope, 19, /*->38631*/ // 3 children in Scope
19483/* 38612*/ OPC_CheckPredicate, 1, // Predicate_truncstorei8
19484/* 38614*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19485/* 38616*/ OPC_EmitMergeInputChains1_0,
19486/* 38617*/ OPC_EmitInteger, MVT::i32, 0,
19487/* 38620*/ OPC_EmitConvertToTarget, 3,
19488/* 38622*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19489 4/*#Ops*/, 4, 5, 2, 1,
19490 // Src: (st i64:{ *:[i64] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 11
19491 // Dst: (STORE8_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
19492/* 38631*/ /*Scope*/ 19, /*->38651*/
19493/* 38632*/ OPC_CheckPredicate, 2, // Predicate_truncstorei16
19494/* 38634*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19495/* 38636*/ OPC_EmitMergeInputChains1_0,
19496/* 38637*/ OPC_EmitInteger, MVT::i32, 0,
19497/* 38640*/ OPC_EmitConvertToTarget, 3,
19498/* 38642*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19499 4/*#Ops*/, 4, 5, 2, 1,
19500 // Src: (st i64:{ *:[i64] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 11
19501 // Dst: (STORE16_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
19502/* 38651*/ /*Scope*/ 19, /*->38671*/
19503/* 38652*/ OPC_CheckPredicate, 6, // Predicate_truncstorei32
19504/* 38654*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19505/* 38656*/ OPC_EmitMergeInputChains1_0,
19506/* 38657*/ OPC_EmitInteger, MVT::i32, 0,
19507/* 38660*/ OPC_EmitConvertToTarget, 3,
19508/* 38662*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19509 4/*#Ops*/, 4, 5, 2, 1,
19510 // Src: (st i64:{ *:[i64] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 11
19511 // Dst: (STORE32_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
19512/* 38671*/ 0, /*End of Scope*/
19513/* 38672*/ 0, /*End of Scope*/
19514/* 38673*/ 0, // EndSwitchType
19515/* 38674*/ /*SwitchOpcode*/ 117|128,1/*245*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->38923
19516/* 38678*/ OPC_RecordChild0, // #2 = $off
19517/* 38679*/ OPC_MoveChild0,
19518/* 38680*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
19519/* 38683*/ OPC_MoveParent,
19520/* 38684*/ OPC_MoveParent,
19521/* 38685*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19522/* 38687*/ OPC_Scope, 56, /*->38745*/ // 2 children in Scope
19523/* 38689*/ OPC_CheckPredicate, 19, // Predicate_store
19524/* 38691*/ OPC_Scope, 25, /*->38718*/ // 2 children in Scope
19525/* 38693*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
19526/* 38695*/ OPC_EmitMergeInputChains1_0,
19527/* 38696*/ OPC_EmitInteger, MVT::i32, 0,
19528/* 38699*/ OPC_EmitInteger, MVT::i32, 0,
19529/* 38702*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19530 MVT::i32, 1/*#Ops*/, 4, // Results = #5
19531/* 38709*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19532 4/*#Ops*/, 3, 2, 5, 1,
19533 // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
19534 // Dst: (STORE_I64_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
19535/* 38718*/ /*Scope*/ 25, /*->38744*/
19536/* 38719*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
19537/* 38721*/ OPC_EmitMergeInputChains1_0,
19538/* 38722*/ OPC_EmitInteger, MVT::i32, 0,
19539/* 38725*/ OPC_EmitInteger, MVT::i64, 0,
19540/* 38728*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
19541 MVT::i64, 1/*#Ops*/, 4, // Results = #5
19542/* 38735*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19543 4/*#Ops*/, 3, 2, 5, 1,
19544 // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
19545 // Dst: (STORE_I64_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
19546/* 38744*/ 0, /*End of Scope*/
19547/* 38745*/ /*Scope*/ 47|128,1/*175*/, /*->38922*/
19548/* 38747*/ OPC_CheckPredicate, 20, // Predicate_truncstore
19549/* 38749*/ OPC_Scope, 56, /*->38807*/ // 3 children in Scope
19550/* 38751*/ OPC_CheckPredicate, 1, // Predicate_truncstorei8
19551/* 38753*/ OPC_Scope, 25, /*->38780*/ // 2 children in Scope
19552/* 38755*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
19553/* 38757*/ OPC_EmitMergeInputChains1_0,
19554/* 38758*/ OPC_EmitInteger, MVT::i32, 0,
19555/* 38761*/ OPC_EmitInteger, MVT::i32, 0,
19556/* 38764*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19557 MVT::i32, 1/*#Ops*/, 4, // Results = #5
19558/* 38771*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19559 4/*#Ops*/, 3, 2, 5, 1,
19560 // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 10
19561 // Dst: (STORE8_I64_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
19562/* 38780*/ /*Scope*/ 25, /*->38806*/
19563/* 38781*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
19564/* 38783*/ OPC_EmitMergeInputChains1_0,
19565/* 38784*/ OPC_EmitInteger, MVT::i32, 0,
19566/* 38787*/ OPC_EmitInteger, MVT::i64, 0,
19567/* 38790*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
19568 MVT::i64, 1/*#Ops*/, 4, // Results = #5
19569/* 38797*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19570 4/*#Ops*/, 3, 2, 5, 1,
19571 // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 10
19572 // Dst: (STORE8_I64_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
19573/* 38806*/ 0, /*End of Scope*/
19574/* 38807*/ /*Scope*/ 56, /*->38864*/
19575/* 38808*/ OPC_CheckPredicate, 2, // Predicate_truncstorei16
19576/* 38810*/ OPC_Scope, 25, /*->38837*/ // 2 children in Scope
19577/* 38812*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
19578/* 38814*/ OPC_EmitMergeInputChains1_0,
19579/* 38815*/ OPC_EmitInteger, MVT::i32, 0,
19580/* 38818*/ OPC_EmitInteger, MVT::i32, 0,
19581/* 38821*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19582 MVT::i32, 1/*#Ops*/, 4, // Results = #5
19583/* 38828*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19584 4/*#Ops*/, 3, 2, 5, 1,
19585 // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 10
19586 // Dst: (STORE16_I64_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
19587/* 38837*/ /*Scope*/ 25, /*->38863*/
19588/* 38838*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
19589/* 38840*/ OPC_EmitMergeInputChains1_0,
19590/* 38841*/ OPC_EmitInteger, MVT::i32, 0,
19591/* 38844*/ OPC_EmitInteger, MVT::i64, 0,
19592/* 38847*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
19593 MVT::i64, 1/*#Ops*/, 4, // Results = #5
19594/* 38854*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19595 4/*#Ops*/, 3, 2, 5, 1,
19596 // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 10
19597 // Dst: (STORE16_I64_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
19598/* 38863*/ 0, /*End of Scope*/
19599/* 38864*/ /*Scope*/ 56, /*->38921*/
19600/* 38865*/ OPC_CheckPredicate, 6, // Predicate_truncstorei32
19601/* 38867*/ OPC_Scope, 25, /*->38894*/ // 2 children in Scope
19602/* 38869*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
19603/* 38871*/ OPC_EmitMergeInputChains1_0,
19604/* 38872*/ OPC_EmitInteger, MVT::i32, 0,
19605/* 38875*/ OPC_EmitInteger, MVT::i32, 0,
19606/* 38878*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19607 MVT::i32, 1/*#Ops*/, 4, // Results = #5
19608/* 38885*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19609 4/*#Ops*/, 3, 2, 5, 1,
19610 // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 10
19611 // Dst: (STORE32_I64_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
19612/* 38894*/ /*Scope*/ 25, /*->38920*/
19613/* 38895*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
19614/* 38897*/ OPC_EmitMergeInputChains1_0,
19615/* 38898*/ OPC_EmitInteger, MVT::i32, 0,
19616/* 38901*/ OPC_EmitInteger, MVT::i64, 0,
19617/* 38904*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
19618 MVT::i64, 1/*#Ops*/, 4, // Results = #5
19619/* 38911*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19620 4/*#Ops*/, 3, 2, 5, 1,
19621 // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 10
19622 // Dst: (STORE32_I64_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
19623/* 38920*/ 0, /*End of Scope*/
19624/* 38921*/ 0, /*End of Scope*/
19625/* 38922*/ 0, /*End of Scope*/
19626/* 38923*/ 0, // EndSwitchOpcode
19627/* 38924*/ /*Scope*/ 72|128,3/*456*/, /*->39382*/
19628/* 38926*/ OPC_RecordChild2, // #2 = $off
19629/* 38927*/ OPC_Scope, 3|128,2/*259*/, /*->39189*/ // 3 children in Scope
19630/* 38930*/ OPC_MoveChild2,
19631/* 38931*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
19632/* 38934*/ OPC_MoveParent,
19633/* 38935*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19634/* 38937*/ OPC_Scope, 60, /*->38999*/ // 2 children in Scope
19635/* 38939*/ OPC_CheckPredicate, 19, // Predicate_store
19636/* 38941*/ OPC_Scope, 27, /*->38970*/ // 2 children in Scope
19637/* 38943*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19638/* 38945*/ OPC_EmitMergeInputChains1_0,
19639/* 38946*/ OPC_EmitInteger, MVT::i32, 0,
19640/* 38949*/ OPC_EmitConvertToTarget, 2,
19641/* 38951*/ OPC_EmitInteger, MVT::i32, 0,
19642/* 38954*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19643 MVT::i32, 1/*#Ops*/, 5, // Results = #6
19644/* 38961*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19645 4/*#Ops*/, 3, 4, 6, 1,
19646 // Src: (st i64:{ *:[i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
19647 // Dst: (STORE_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
19648/* 38970*/ /*Scope*/ 27, /*->38998*/
19649/* 38971*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19650/* 38973*/ OPC_EmitMergeInputChains1_0,
19651/* 38974*/ OPC_EmitInteger, MVT::i32, 0,
19652/* 38977*/ OPC_EmitConvertToTarget, 2,
19653/* 38979*/ OPC_EmitInteger, MVT::i64, 0,
19654/* 38982*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
19655 MVT::i64, 1/*#Ops*/, 5, // Results = #6
19656/* 38989*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19657 4/*#Ops*/, 3, 4, 6, 1,
19658 // Src: (st i64:{ *:[i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
19659 // Dst: (STORE_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
19660/* 38998*/ 0, /*End of Scope*/
19661/* 38999*/ /*Scope*/ 59|128,1/*187*/, /*->39188*/
19662/* 39001*/ OPC_CheckPredicate, 20, // Predicate_truncstore
19663/* 39003*/ OPC_Scope, 60, /*->39065*/ // 3 children in Scope
19664/* 39005*/ OPC_CheckPredicate, 1, // Predicate_truncstorei8
19665/* 39007*/ OPC_Scope, 27, /*->39036*/ // 2 children in Scope
19666/* 39009*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19667/* 39011*/ OPC_EmitMergeInputChains1_0,
19668/* 39012*/ OPC_EmitInteger, MVT::i32, 0,
19669/* 39015*/ OPC_EmitConvertToTarget, 2,
19670/* 39017*/ OPC_EmitInteger, MVT::i32, 0,
19671/* 39020*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19672 MVT::i32, 1/*#Ops*/, 5, // Results = #6
19673/* 39027*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19674 4/*#Ops*/, 3, 4, 6, 1,
19675 // Src: (st i64:{ *:[i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 7
19676 // Dst: (STORE8_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
19677/* 39036*/ /*Scope*/ 27, /*->39064*/
19678/* 39037*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19679/* 39039*/ OPC_EmitMergeInputChains1_0,
19680/* 39040*/ OPC_EmitInteger, MVT::i32, 0,
19681/* 39043*/ OPC_EmitConvertToTarget, 2,
19682/* 39045*/ OPC_EmitInteger, MVT::i64, 0,
19683/* 39048*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
19684 MVT::i64, 1/*#Ops*/, 5, // Results = #6
19685/* 39055*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19686 4/*#Ops*/, 3, 4, 6, 1,
19687 // Src: (st i64:{ *:[i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 7
19688 // Dst: (STORE8_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
19689/* 39064*/ 0, /*End of Scope*/
19690/* 39065*/ /*Scope*/ 60, /*->39126*/
19691/* 39066*/ OPC_CheckPredicate, 2, // Predicate_truncstorei16
19692/* 39068*/ OPC_Scope, 27, /*->39097*/ // 2 children in Scope
19693/* 39070*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19694/* 39072*/ OPC_EmitMergeInputChains1_0,
19695/* 39073*/ OPC_EmitInteger, MVT::i32, 0,
19696/* 39076*/ OPC_EmitConvertToTarget, 2,
19697/* 39078*/ OPC_EmitInteger, MVT::i32, 0,
19698/* 39081*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19699 MVT::i32, 1/*#Ops*/, 5, // Results = #6
19700/* 39088*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19701 4/*#Ops*/, 3, 4, 6, 1,
19702 // Src: (st i64:{ *:[i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 7
19703 // Dst: (STORE16_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
19704/* 39097*/ /*Scope*/ 27, /*->39125*/
19705/* 39098*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19706/* 39100*/ OPC_EmitMergeInputChains1_0,
19707/* 39101*/ OPC_EmitInteger, MVT::i32, 0,
19708/* 39104*/ OPC_EmitConvertToTarget, 2,
19709/* 39106*/ OPC_EmitInteger, MVT::i64, 0,
19710/* 39109*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
19711 MVT::i64, 1/*#Ops*/, 5, // Results = #6
19712/* 39116*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19713 4/*#Ops*/, 3, 4, 6, 1,
19714 // Src: (st i64:{ *:[i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 7
19715 // Dst: (STORE16_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
19716/* 39125*/ 0, /*End of Scope*/
19717/* 39126*/ /*Scope*/ 60, /*->39187*/
19718/* 39127*/ OPC_CheckPredicate, 6, // Predicate_truncstorei32
19719/* 39129*/ OPC_Scope, 27, /*->39158*/ // 2 children in Scope
19720/* 39131*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19721/* 39133*/ OPC_EmitMergeInputChains1_0,
19722/* 39134*/ OPC_EmitInteger, MVT::i32, 0,
19723/* 39137*/ OPC_EmitConvertToTarget, 2,
19724/* 39139*/ OPC_EmitInteger, MVT::i32, 0,
19725/* 39142*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19726 MVT::i32, 1/*#Ops*/, 5, // Results = #6
19727/* 39149*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19728 4/*#Ops*/, 3, 4, 6, 1,
19729 // Src: (st i64:{ *:[i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 7
19730 // Dst: (STORE32_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
19731/* 39158*/ /*Scope*/ 27, /*->39186*/
19732/* 39159*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19733/* 39161*/ OPC_EmitMergeInputChains1_0,
19734/* 39162*/ OPC_EmitInteger, MVT::i32, 0,
19735/* 39165*/ OPC_EmitConvertToTarget, 2,
19736/* 39167*/ OPC_EmitInteger, MVT::i64, 0,
19737/* 39170*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
19738 MVT::i64, 1/*#Ops*/, 5, // Results = #6
19739/* 39177*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19740 4/*#Ops*/, 3, 4, 6, 1,
19741 // Src: (st i64:{ *:[i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 7
19742 // Dst: (STORE32_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
19743/* 39186*/ 0, /*End of Scope*/
19744/* 39187*/ 0, /*End of Scope*/
19745/* 39188*/ 0, /*End of Scope*/
19746/* 39189*/ /*Scope*/ 95, /*->39285*/
19747/* 39190*/ OPC_CheckChild2Type, MVT::i32,
19748/* 39192*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19749/* 39194*/ OPC_Scope, 20, /*->39216*/ // 2 children in Scope
19750/* 39196*/ OPC_CheckPredicate, 19, // Predicate_store
19751/* 39198*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19752/* 39200*/ OPC_EmitMergeInputChains1_0,
19753/* 39201*/ OPC_EmitInteger, MVT::i32, 0,
19754/* 39204*/ OPC_EmitInteger, MVT::i32, 0,
19755/* 39207*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19756 4/*#Ops*/, 3, 4, 2, 1,
19757 // Src: (st i64:{ *:[i64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
19758 // Dst: (STORE_I64_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19759/* 39216*/ /*Scope*/ 67, /*->39284*/
19760/* 39217*/ OPC_CheckPredicate, 20, // Predicate_truncstore
19761/* 39219*/ OPC_Scope, 20, /*->39241*/ // 3 children in Scope
19762/* 39221*/ OPC_CheckPredicate, 1, // Predicate_truncstorei8
19763/* 39223*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19764/* 39225*/ OPC_EmitMergeInputChains1_0,
19765/* 39226*/ OPC_EmitInteger, MVT::i32, 0,
19766/* 39229*/ OPC_EmitInteger, MVT::i32, 0,
19767/* 39232*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19768 4/*#Ops*/, 3, 4, 2, 1,
19769 // Src: (st i64:{ *:[i64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 4
19770 // Dst: (STORE8_I64_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19771/* 39241*/ /*Scope*/ 20, /*->39262*/
19772/* 39242*/ OPC_CheckPredicate, 2, // Predicate_truncstorei16
19773/* 39244*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19774/* 39246*/ OPC_EmitMergeInputChains1_0,
19775/* 39247*/ OPC_EmitInteger, MVT::i32, 0,
19776/* 39250*/ OPC_EmitInteger, MVT::i32, 0,
19777/* 39253*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19778 4/*#Ops*/, 3, 4, 2, 1,
19779 // Src: (st i64:{ *:[i64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 4
19780 // Dst: (STORE16_I64_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19781/* 39262*/ /*Scope*/ 20, /*->39283*/
19782/* 39263*/ OPC_CheckPredicate, 6, // Predicate_truncstorei32
19783/* 39265*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19784/* 39267*/ OPC_EmitMergeInputChains1_0,
19785/* 39268*/ OPC_EmitInteger, MVT::i32, 0,
19786/* 39271*/ OPC_EmitInteger, MVT::i32, 0,
19787/* 39274*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
19788 4/*#Ops*/, 3, 4, 2, 1,
19789 // Src: (st i64:{ *:[i64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 4
19790 // Dst: (STORE32_I64_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19791/* 39283*/ 0, /*End of Scope*/
19792/* 39284*/ 0, /*End of Scope*/
19793/* 39285*/ /*Scope*/ 95, /*->39381*/
19794/* 39286*/ OPC_CheckChild2Type, MVT::i64,
19795/* 39288*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19796/* 39290*/ OPC_Scope, 20, /*->39312*/ // 2 children in Scope
19797/* 39292*/ OPC_CheckPredicate, 19, // Predicate_store
19798/* 39294*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19799/* 39296*/ OPC_EmitMergeInputChains1_0,
19800/* 39297*/ OPC_EmitInteger, MVT::i32, 0,
19801/* 39300*/ OPC_EmitInteger, MVT::i64, 0,
19802/* 39303*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19803 4/*#Ops*/, 3, 4, 2, 1,
19804 // Src: (st i64:{ *:[i64] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
19805 // Dst: (STORE_I64_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
19806/* 39312*/ /*Scope*/ 67, /*->39380*/
19807/* 39313*/ OPC_CheckPredicate, 20, // Predicate_truncstore
19808/* 39315*/ OPC_Scope, 20, /*->39337*/ // 3 children in Scope
19809/* 39317*/ OPC_CheckPredicate, 1, // Predicate_truncstorei8
19810/* 39319*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19811/* 39321*/ OPC_EmitMergeInputChains1_0,
19812/* 39322*/ OPC_EmitInteger, MVT::i32, 0,
19813/* 39325*/ OPC_EmitInteger, MVT::i64, 0,
19814/* 39328*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19815 4/*#Ops*/, 3, 4, 2, 1,
19816 // Src: (st i64:{ *:[i64] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 4
19817 // Dst: (STORE8_I64_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
19818/* 39337*/ /*Scope*/ 20, /*->39358*/
19819/* 39338*/ OPC_CheckPredicate, 2, // Predicate_truncstorei16
19820/* 39340*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19821/* 39342*/ OPC_EmitMergeInputChains1_0,
19822/* 39343*/ OPC_EmitInteger, MVT::i32, 0,
19823/* 39346*/ OPC_EmitInteger, MVT::i64, 0,
19824/* 39349*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19825 4/*#Ops*/, 3, 4, 2, 1,
19826 // Src: (st i64:{ *:[i64] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 4
19827 // Dst: (STORE16_I64_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
19828/* 39358*/ /*Scope*/ 20, /*->39379*/
19829/* 39359*/ OPC_CheckPredicate, 6, // Predicate_truncstorei32
19830/* 39361*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19831/* 39363*/ OPC_EmitMergeInputChains1_0,
19832/* 39364*/ OPC_EmitInteger, MVT::i32, 0,
19833/* 39367*/ OPC_EmitInteger, MVT::i64, 0,
19834/* 39370*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
19835 4/*#Ops*/, 3, 4, 2, 1,
19836 // Src: (st i64:{ *:[i64] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 4
19837 // Dst: (STORE32_I64_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
19838/* 39379*/ 0, /*End of Scope*/
19839/* 39380*/ 0, /*End of Scope*/
19840/* 39381*/ 0, /*End of Scope*/
19841/* 39382*/ 0, /*End of Scope*/
19842/* 39383*/ /*Scope*/ 67|128,2/*323*/, /*->39708*/
19843/* 39385*/ OPC_CheckChild1Type, MVT::f32,
19844/* 39387*/ OPC_Scope, 67|128,1/*195*/, /*->39585*/ // 2 children in Scope
19845/* 39390*/ OPC_MoveChild2,
19846/* 39391*/ OPC_SwitchOpcode /*3 cases */, 59, TARGET_VAL(ISD::ADD),// ->39454
19847/* 39395*/ OPC_RecordChild0, // #2 = $addr
19848/* 39396*/ OPC_RecordChild1, // #3 = $off
19849/* 39397*/ OPC_MoveChild1,
19850/* 39398*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
19851/* 39401*/ OPC_MoveParent,
19852/* 39402*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
19853/* 39404*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->39429
19854/* 39407*/ OPC_MoveParent,
19855/* 39408*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19856/* 39410*/ OPC_CheckPredicate, 19, // Predicate_store
19857/* 39412*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19858/* 39414*/ OPC_EmitMergeInputChains1_0,
19859/* 39415*/ OPC_EmitInteger, MVT::i32, 0,
19860/* 39418*/ OPC_EmitConvertToTarget, 3,
19861/* 39420*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
19862 4/*#Ops*/, 4, 5, 2, 1,
19863 // Src: (st f32:{ *:[f32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
19864 // Dst: (STORE_F32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
19865/* 39429*/ /*SwitchType*/ 22, MVT::i64,// ->39453
19866/* 39431*/ OPC_MoveParent,
19867/* 39432*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19868/* 39434*/ OPC_CheckPredicate, 19, // Predicate_store
19869/* 39436*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19870/* 39438*/ OPC_EmitMergeInputChains1_0,
19871/* 39439*/ OPC_EmitInteger, MVT::i32, 0,
19872/* 39442*/ OPC_EmitConvertToTarget, 3,
19873/* 39444*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19874 4/*#Ops*/, 4, 5, 2, 1,
19875 // Src: (st f32:{ *:[f32] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
19876 // Dst: (STORE_F32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, f32:{ *:[f32] }:$val)
19877/* 39453*/ 0, // EndSwitchType
19878/* 39454*/ /*SwitchOpcode*/ 59, TARGET_VAL(ISD::OR),// ->39516
19879/* 39457*/ OPC_RecordChild0, // #2 = $addr
19880/* 39458*/ OPC_RecordChild1, // #3 = $off
19881/* 39459*/ OPC_MoveChild1,
19882/* 39460*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
19883/* 39463*/ OPC_MoveParent,
19884/* 39464*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
19885/* 39466*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->39491
19886/* 39469*/ OPC_MoveParent,
19887/* 39470*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19888/* 39472*/ OPC_CheckPredicate, 19, // Predicate_store
19889/* 39474*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19890/* 39476*/ OPC_EmitMergeInputChains1_0,
19891/* 39477*/ OPC_EmitInteger, MVT::i32, 0,
19892/* 39480*/ OPC_EmitConvertToTarget, 3,
19893/* 39482*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
19894 4/*#Ops*/, 4, 5, 2, 1,
19895 // Src: (st f32:{ *:[f32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
19896 // Dst: (STORE_F32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
19897/* 39491*/ /*SwitchType*/ 22, MVT::i64,// ->39515
19898/* 39493*/ OPC_MoveParent,
19899/* 39494*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19900/* 39496*/ OPC_CheckPredicate, 19, // Predicate_store
19901/* 39498*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19902/* 39500*/ OPC_EmitMergeInputChains1_0,
19903/* 39501*/ OPC_EmitInteger, MVT::i32, 0,
19904/* 39504*/ OPC_EmitConvertToTarget, 3,
19905/* 39506*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19906 4/*#Ops*/, 4, 5, 2, 1,
19907 // Src: (st f32:{ *:[f32] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
19908 // Dst: (STORE_F32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, f32:{ *:[f32] }:$val)
19909/* 39515*/ 0, // EndSwitchType
19910/* 39516*/ /*SwitchOpcode*/ 65, TARGET_VAL(WebAssemblyISD::Wrapper),// ->39584
19911/* 39519*/ OPC_RecordChild0, // #2 = $off
19912/* 39520*/ OPC_MoveChild0,
19913/* 39521*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
19914/* 39524*/ OPC_MoveParent,
19915/* 39525*/ OPC_MoveParent,
19916/* 39526*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19917/* 39528*/ OPC_CheckPredicate, 19, // Predicate_store
19918/* 39530*/ OPC_Scope, 25, /*->39557*/ // 2 children in Scope
19919/* 39532*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
19920/* 39534*/ OPC_EmitMergeInputChains1_0,
19921/* 39535*/ OPC_EmitInteger, MVT::i32, 0,
19922/* 39538*/ OPC_EmitInteger, MVT::i32, 0,
19923/* 39541*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19924 MVT::i32, 1/*#Ops*/, 4, // Results = #5
19925/* 39548*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
19926 4/*#Ops*/, 3, 2, 5, 1,
19927 // Src: (st f32:{ *:[f32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
19928 // Dst: (STORE_F32_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), f32:{ *:[f32] }:$val)
19929/* 39557*/ /*Scope*/ 25, /*->39583*/
19930/* 39558*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
19931/* 39560*/ OPC_EmitMergeInputChains1_0,
19932/* 39561*/ OPC_EmitInteger, MVT::i32, 0,
19933/* 39564*/ OPC_EmitInteger, MVT::i64, 0,
19934/* 39567*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
19935 MVT::i64, 1/*#Ops*/, 4, // Results = #5
19936/* 39574*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19937 4/*#Ops*/, 3, 2, 5, 1,
19938 // Src: (st f32:{ *:[f32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
19939 // Dst: (STORE_F32_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), f32:{ *:[f32] }:$val)
19940/* 39583*/ 0, /*End of Scope*/
19941/* 39584*/ 0, // EndSwitchOpcode
19942/* 39585*/ /*Scope*/ 121, /*->39707*/
19943/* 39586*/ OPC_RecordChild2, // #2 = $off
19944/* 39587*/ OPC_Scope, 67, /*->39656*/ // 3 children in Scope
19945/* 39589*/ OPC_MoveChild2,
19946/* 39590*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
19947/* 39593*/ OPC_MoveParent,
19948/* 39594*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19949/* 39596*/ OPC_CheckPredicate, 19, // Predicate_store
19950/* 39598*/ OPC_Scope, 27, /*->39627*/ // 2 children in Scope
19951/* 39600*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19952/* 39602*/ OPC_EmitMergeInputChains1_0,
19953/* 39603*/ OPC_EmitInteger, MVT::i32, 0,
19954/* 39606*/ OPC_EmitConvertToTarget, 2,
19955/* 39608*/ OPC_EmitInteger, MVT::i32, 0,
19956/* 39611*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19957 MVT::i32, 1/*#Ops*/, 5, // Results = #6
19958/* 39618*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
19959 4/*#Ops*/, 3, 4, 6, 1,
19960 // Src: (st f32:{ *:[f32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
19961 // Dst: (STORE_F32_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), f32:{ *:[f32] }:$val)
19962/* 39627*/ /*Scope*/ 27, /*->39655*/
19963/* 39628*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19964/* 39630*/ OPC_EmitMergeInputChains1_0,
19965/* 39631*/ OPC_EmitInteger, MVT::i32, 0,
19966/* 39634*/ OPC_EmitConvertToTarget, 2,
19967/* 39636*/ OPC_EmitInteger, MVT::i64, 0,
19968/* 39639*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
19969 MVT::i64, 1/*#Ops*/, 5, // Results = #6
19970/* 39646*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19971 4/*#Ops*/, 3, 4, 6, 1,
19972 // Src: (st f32:{ *:[f32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
19973 // Dst: (STORE_F32_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), f32:{ *:[f32] }:$val)
19974/* 39655*/ 0, /*End of Scope*/
19975/* 39656*/ /*Scope*/ 24, /*->39681*/
19976/* 39657*/ OPC_CheckChild2Type, MVT::i32,
19977/* 39659*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19978/* 39661*/ OPC_CheckPredicate, 19, // Predicate_store
19979/* 39663*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
19980/* 39665*/ OPC_EmitMergeInputChains1_0,
19981/* 39666*/ OPC_EmitInteger, MVT::i32, 0,
19982/* 39669*/ OPC_EmitInteger, MVT::i32, 0,
19983/* 39672*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
19984 4/*#Ops*/, 3, 4, 2, 1,
19985 // Src: (st f32:{ *:[f32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
19986 // Dst: (STORE_F32_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
19987/* 39681*/ /*Scope*/ 24, /*->39706*/
19988/* 39682*/ OPC_CheckChild2Type, MVT::i64,
19989/* 39684*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
19990/* 39686*/ OPC_CheckPredicate, 19, // Predicate_store
19991/* 39688*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
19992/* 39690*/ OPC_EmitMergeInputChains1_0,
19993/* 39691*/ OPC_EmitInteger, MVT::i32, 0,
19994/* 39694*/ OPC_EmitInteger, MVT::i64, 0,
19995/* 39697*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
19996 4/*#Ops*/, 3, 4, 2, 1,
19997 // Src: (st f32:{ *:[f32] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
19998 // Dst: (STORE_F32_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, f32:{ *:[f32] }:$val)
19999/* 39706*/ 0, /*End of Scope*/
20000/* 39707*/ 0, /*End of Scope*/
20001/* 39708*/ /*Scope*/ 67|128,2/*323*/, /*->40033*/
20002/* 39710*/ OPC_CheckChild1Type, MVT::f64,
20003/* 39712*/ OPC_Scope, 67|128,1/*195*/, /*->39910*/ // 2 children in Scope
20004/* 39715*/ OPC_MoveChild2,
20005/* 39716*/ OPC_SwitchOpcode /*3 cases */, 59, TARGET_VAL(ISD::ADD),// ->39779
20006/* 39720*/ OPC_RecordChild0, // #2 = $addr
20007/* 39721*/ OPC_RecordChild1, // #3 = $off
20008/* 39722*/ OPC_MoveChild1,
20009/* 39723*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20010/* 39726*/ OPC_MoveParent,
20011/* 39727*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
20012/* 39729*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->39754
20013/* 39732*/ OPC_MoveParent,
20014/* 39733*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20015/* 39735*/ OPC_CheckPredicate, 19, // Predicate_store
20016/* 39737*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20017/* 39739*/ OPC_EmitMergeInputChains1_0,
20018/* 39740*/ OPC_EmitInteger, MVT::i32, 0,
20019/* 39743*/ OPC_EmitConvertToTarget, 3,
20020/* 39745*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64_A32), 0|OPFL_Chain|OPFL_MemRefs,
20021 4/*#Ops*/, 4, 5, 2, 1,
20022 // Src: (st f64:{ *:[f64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20023 // Dst: (STORE_F64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
20024/* 39754*/ /*SwitchType*/ 22, MVT::i64,// ->39778
20025/* 39756*/ OPC_MoveParent,
20026/* 39757*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20027/* 39759*/ OPC_CheckPredicate, 19, // Predicate_store
20028/* 39761*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20029/* 39763*/ OPC_EmitMergeInputChains1_0,
20030/* 39764*/ OPC_EmitInteger, MVT::i32, 0,
20031/* 39767*/ OPC_EmitConvertToTarget, 3,
20032/* 39769*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64_A64), 0|OPFL_Chain|OPFL_MemRefs,
20033 4/*#Ops*/, 4, 5, 2, 1,
20034 // Src: (st f64:{ *:[f64] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20035 // Dst: (STORE_F64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, f64:{ *:[f64] }:$val)
20036/* 39778*/ 0, // EndSwitchType
20037/* 39779*/ /*SwitchOpcode*/ 59, TARGET_VAL(ISD::OR),// ->39841
20038/* 39782*/ OPC_RecordChild0, // #2 = $addr
20039/* 39783*/ OPC_RecordChild1, // #3 = $off
20040/* 39784*/ OPC_MoveChild1,
20041/* 39785*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20042/* 39788*/ OPC_MoveParent,
20043/* 39789*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
20044/* 39791*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->39816
20045/* 39794*/ OPC_MoveParent,
20046/* 39795*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20047/* 39797*/ OPC_CheckPredicate, 19, // Predicate_store
20048/* 39799*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20049/* 39801*/ OPC_EmitMergeInputChains1_0,
20050/* 39802*/ OPC_EmitInteger, MVT::i32, 0,
20051/* 39805*/ OPC_EmitConvertToTarget, 3,
20052/* 39807*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64_A32), 0|OPFL_Chain|OPFL_MemRefs,
20053 4/*#Ops*/, 4, 5, 2, 1,
20054 // Src: (st f64:{ *:[f64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20055 // Dst: (STORE_F64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
20056/* 39816*/ /*SwitchType*/ 22, MVT::i64,// ->39840
20057/* 39818*/ OPC_MoveParent,
20058/* 39819*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20059/* 39821*/ OPC_CheckPredicate, 19, // Predicate_store
20060/* 39823*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20061/* 39825*/ OPC_EmitMergeInputChains1_0,
20062/* 39826*/ OPC_EmitInteger, MVT::i32, 0,
20063/* 39829*/ OPC_EmitConvertToTarget, 3,
20064/* 39831*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64_A64), 0|OPFL_Chain|OPFL_MemRefs,
20065 4/*#Ops*/, 4, 5, 2, 1,
20066 // Src: (st f64:{ *:[f64] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20067 // Dst: (STORE_F64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, f64:{ *:[f64] }:$val)
20068/* 39840*/ 0, // EndSwitchType
20069/* 39841*/ /*SwitchOpcode*/ 65, TARGET_VAL(WebAssemblyISD::Wrapper),// ->39909
20070/* 39844*/ OPC_RecordChild0, // #2 = $off
20071/* 39845*/ OPC_MoveChild0,
20072/* 39846*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
20073/* 39849*/ OPC_MoveParent,
20074/* 39850*/ OPC_MoveParent,
20075/* 39851*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20076/* 39853*/ OPC_CheckPredicate, 19, // Predicate_store
20077/* 39855*/ OPC_Scope, 25, /*->39882*/ // 2 children in Scope
20078/* 39857*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
20079/* 39859*/ OPC_EmitMergeInputChains1_0,
20080/* 39860*/ OPC_EmitInteger, MVT::i32, 0,
20081/* 39863*/ OPC_EmitInteger, MVT::i32, 0,
20082/* 39866*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20083 MVT::i32, 1/*#Ops*/, 4, // Results = #5
20084/* 39873*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64_A32), 0|OPFL_Chain|OPFL_MemRefs,
20085 4/*#Ops*/, 3, 2, 5, 1,
20086 // Src: (st f64:{ *:[f64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20087 // Dst: (STORE_F64_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), f64:{ *:[f64] }:$val)
20088/* 39882*/ /*Scope*/ 25, /*->39908*/
20089/* 39883*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
20090/* 39885*/ OPC_EmitMergeInputChains1_0,
20091/* 39886*/ OPC_EmitInteger, MVT::i32, 0,
20092/* 39889*/ OPC_EmitInteger, MVT::i64, 0,
20093/* 39892*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
20094 MVT::i64, 1/*#Ops*/, 4, // Results = #5
20095/* 39899*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64_A64), 0|OPFL_Chain|OPFL_MemRefs,
20096 4/*#Ops*/, 3, 2, 5, 1,
20097 // Src: (st f64:{ *:[f64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20098 // Dst: (STORE_F64_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), f64:{ *:[f64] }:$val)
20099/* 39908*/ 0, /*End of Scope*/
20100/* 39909*/ 0, // EndSwitchOpcode
20101/* 39910*/ /*Scope*/ 121, /*->40032*/
20102/* 39911*/ OPC_RecordChild2, // #2 = $off
20103/* 39912*/ OPC_Scope, 67, /*->39981*/ // 3 children in Scope
20104/* 39914*/ OPC_MoveChild2,
20105/* 39915*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20106/* 39918*/ OPC_MoveParent,
20107/* 39919*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20108/* 39921*/ OPC_CheckPredicate, 19, // Predicate_store
20109/* 39923*/ OPC_Scope, 27, /*->39952*/ // 2 children in Scope
20110/* 39925*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20111/* 39927*/ OPC_EmitMergeInputChains1_0,
20112/* 39928*/ OPC_EmitInteger, MVT::i32, 0,
20113/* 39931*/ OPC_EmitConvertToTarget, 2,
20114/* 39933*/ OPC_EmitInteger, MVT::i32, 0,
20115/* 39936*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20116 MVT::i32, 1/*#Ops*/, 5, // Results = #6
20117/* 39943*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64_A32), 0|OPFL_Chain|OPFL_MemRefs,
20118 4/*#Ops*/, 3, 4, 6, 1,
20119 // Src: (st f64:{ *:[f64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
20120 // Dst: (STORE_F64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), f64:{ *:[f64] }:$val)
20121/* 39952*/ /*Scope*/ 27, /*->39980*/
20122/* 39953*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20123/* 39955*/ OPC_EmitMergeInputChains1_0,
20124/* 39956*/ OPC_EmitInteger, MVT::i32, 0,
20125/* 39959*/ OPC_EmitConvertToTarget, 2,
20126/* 39961*/ OPC_EmitInteger, MVT::i64, 0,
20127/* 39964*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
20128 MVT::i64, 1/*#Ops*/, 5, // Results = #6
20129/* 39971*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64_A64), 0|OPFL_Chain|OPFL_MemRefs,
20130 4/*#Ops*/, 3, 4, 6, 1,
20131 // Src: (st f64:{ *:[f64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
20132 // Dst: (STORE_F64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), f64:{ *:[f64] }:$val)
20133/* 39980*/ 0, /*End of Scope*/
20134/* 39981*/ /*Scope*/ 24, /*->40006*/
20135/* 39982*/ OPC_CheckChild2Type, MVT::i32,
20136/* 39984*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20137/* 39986*/ OPC_CheckPredicate, 19, // Predicate_store
20138/* 39988*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20139/* 39990*/ OPC_EmitMergeInputChains1_0,
20140/* 39991*/ OPC_EmitInteger, MVT::i32, 0,
20141/* 39994*/ OPC_EmitInteger, MVT::i32, 0,
20142/* 39997*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64_A32), 0|OPFL_Chain|OPFL_MemRefs,
20143 4/*#Ops*/, 3, 4, 2, 1,
20144 // Src: (st f64:{ *:[f64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
20145 // Dst: (STORE_F64_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
20146/* 40006*/ /*Scope*/ 24, /*->40031*/
20147/* 40007*/ OPC_CheckChild2Type, MVT::i64,
20148/* 40009*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20149/* 40011*/ OPC_CheckPredicate, 19, // Predicate_store
20150/* 40013*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20151/* 40015*/ OPC_EmitMergeInputChains1_0,
20152/* 40016*/ OPC_EmitInteger, MVT::i32, 0,
20153/* 40019*/ OPC_EmitInteger, MVT::i64, 0,
20154/* 40022*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64_A64), 0|OPFL_Chain|OPFL_MemRefs,
20155 4/*#Ops*/, 3, 4, 2, 1,
20156 // Src: (st f64:{ *:[f64] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
20157 // Dst: (STORE_F64_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, f64:{ *:[f64] }:$val)
20158/* 40031*/ 0, /*End of Scope*/
20159/* 40032*/ 0, /*End of Scope*/
20160/* 40033*/ /*Scope*/ 67|128,2/*323*/, /*->40358*/
20161/* 40035*/ OPC_CheckChild1Type, MVT::v16i8,
20162/* 40037*/ OPC_Scope, 67|128,1/*195*/, /*->40235*/ // 2 children in Scope
20163/* 40040*/ OPC_MoveChild2,
20164/* 40041*/ OPC_SwitchOpcode /*3 cases */, 59, TARGET_VAL(ISD::ADD),// ->40104
20165/* 40045*/ OPC_RecordChild0, // #2 = $addr
20166/* 40046*/ OPC_RecordChild1, // #3 = $off
20167/* 40047*/ OPC_MoveChild1,
20168/* 40048*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20169/* 40051*/ OPC_MoveParent,
20170/* 40052*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
20171/* 40054*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->40079
20172/* 40057*/ OPC_MoveParent,
20173/* 40058*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20174/* 40060*/ OPC_CheckPredicate, 19, // Predicate_store
20175/* 40062*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20176/* 40064*/ OPC_EmitMergeInputChains1_0,
20177/* 40065*/ OPC_EmitInteger, MVT::i32, 0,
20178/* 40068*/ OPC_EmitConvertToTarget, 3,
20179/* 40070*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
20180 4/*#Ops*/, 4, 5, 2, 1,
20181 // Src: (st v16i8:{ *:[v16i8] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20182 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
20183/* 40079*/ /*SwitchType*/ 22, MVT::i64,// ->40103
20184/* 40081*/ OPC_MoveParent,
20185/* 40082*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20186/* 40084*/ OPC_CheckPredicate, 19, // Predicate_store
20187/* 40086*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20188/* 40088*/ OPC_EmitMergeInputChains1_0,
20189/* 40089*/ OPC_EmitInteger, MVT::i32, 0,
20190/* 40092*/ OPC_EmitConvertToTarget, 3,
20191/* 40094*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
20192 4/*#Ops*/, 4, 5, 2, 1,
20193 // Src: (st v16i8:{ *:[v16i8] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20194 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, v16i8:{ *:[v16i8] }:$val)
20195/* 40103*/ 0, // EndSwitchType
20196/* 40104*/ /*SwitchOpcode*/ 59, TARGET_VAL(ISD::OR),// ->40166
20197/* 40107*/ OPC_RecordChild0, // #2 = $addr
20198/* 40108*/ OPC_RecordChild1, // #3 = $off
20199/* 40109*/ OPC_MoveChild1,
20200/* 40110*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20201/* 40113*/ OPC_MoveParent,
20202/* 40114*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
20203/* 40116*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->40141
20204/* 40119*/ OPC_MoveParent,
20205/* 40120*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20206/* 40122*/ OPC_CheckPredicate, 19, // Predicate_store
20207/* 40124*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20208/* 40126*/ OPC_EmitMergeInputChains1_0,
20209/* 40127*/ OPC_EmitInteger, MVT::i32, 0,
20210/* 40130*/ OPC_EmitConvertToTarget, 3,
20211/* 40132*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
20212 4/*#Ops*/, 4, 5, 2, 1,
20213 // Src: (st v16i8:{ *:[v16i8] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20214 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
20215/* 40141*/ /*SwitchType*/ 22, MVT::i64,// ->40165
20216/* 40143*/ OPC_MoveParent,
20217/* 40144*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20218/* 40146*/ OPC_CheckPredicate, 19, // Predicate_store
20219/* 40148*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20220/* 40150*/ OPC_EmitMergeInputChains1_0,
20221/* 40151*/ OPC_EmitInteger, MVT::i32, 0,
20222/* 40154*/ OPC_EmitConvertToTarget, 3,
20223/* 40156*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
20224 4/*#Ops*/, 4, 5, 2, 1,
20225 // Src: (st v16i8:{ *:[v16i8] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20226 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, v16i8:{ *:[v16i8] }:$val)
20227/* 40165*/ 0, // EndSwitchType
20228/* 40166*/ /*SwitchOpcode*/ 65, TARGET_VAL(WebAssemblyISD::Wrapper),// ->40234
20229/* 40169*/ OPC_RecordChild0, // #2 = $off
20230/* 40170*/ OPC_MoveChild0,
20231/* 40171*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
20232/* 40174*/ OPC_MoveParent,
20233/* 40175*/ OPC_MoveParent,
20234/* 40176*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20235/* 40178*/ OPC_CheckPredicate, 19, // Predicate_store
20236/* 40180*/ OPC_Scope, 25, /*->40207*/ // 2 children in Scope
20237/* 40182*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
20238/* 40184*/ OPC_EmitMergeInputChains1_0,
20239/* 40185*/ OPC_EmitInteger, MVT::i32, 0,
20240/* 40188*/ OPC_EmitInteger, MVT::i32, 0,
20241/* 40191*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20242 MVT::i32, 1/*#Ops*/, 4, // Results = #5
20243/* 40198*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
20244 4/*#Ops*/, 3, 2, 5, 1,
20245 // Src: (st v16i8:{ *:[v16i8] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20246 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v16i8:{ *:[v16i8] }:$val)
20247/* 40207*/ /*Scope*/ 25, /*->40233*/
20248/* 40208*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
20249/* 40210*/ OPC_EmitMergeInputChains1_0,
20250/* 40211*/ OPC_EmitInteger, MVT::i32, 0,
20251/* 40214*/ OPC_EmitInteger, MVT::i64, 0,
20252/* 40217*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
20253 MVT::i64, 1/*#Ops*/, 4, // Results = #5
20254/* 40224*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
20255 4/*#Ops*/, 3, 2, 5, 1,
20256 // Src: (st v16i8:{ *:[v16i8] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20257 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), v16i8:{ *:[v16i8] }:$val)
20258/* 40233*/ 0, /*End of Scope*/
20259/* 40234*/ 0, // EndSwitchOpcode
20260/* 40235*/ /*Scope*/ 121, /*->40357*/
20261/* 40236*/ OPC_RecordChild2, // #2 = $off
20262/* 40237*/ OPC_Scope, 67, /*->40306*/ // 3 children in Scope
20263/* 40239*/ OPC_MoveChild2,
20264/* 40240*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20265/* 40243*/ OPC_MoveParent,
20266/* 40244*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20267/* 40246*/ OPC_CheckPredicate, 19, // Predicate_store
20268/* 40248*/ OPC_Scope, 27, /*->40277*/ // 2 children in Scope
20269/* 40250*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20270/* 40252*/ OPC_EmitMergeInputChains1_0,
20271/* 40253*/ OPC_EmitInteger, MVT::i32, 0,
20272/* 40256*/ OPC_EmitConvertToTarget, 2,
20273/* 40258*/ OPC_EmitInteger, MVT::i32, 0,
20274/* 40261*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20275 MVT::i32, 1/*#Ops*/, 5, // Results = #6
20276/* 40268*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
20277 4/*#Ops*/, 3, 4, 6, 1,
20278 // Src: (st v16i8:{ *:[v16i8] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
20279 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v16i8:{ *:[v16i8] }:$val)
20280/* 40277*/ /*Scope*/ 27, /*->40305*/
20281/* 40278*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20282/* 40280*/ OPC_EmitMergeInputChains1_0,
20283/* 40281*/ OPC_EmitInteger, MVT::i32, 0,
20284/* 40284*/ OPC_EmitConvertToTarget, 2,
20285/* 40286*/ OPC_EmitInteger, MVT::i64, 0,
20286/* 40289*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
20287 MVT::i64, 1/*#Ops*/, 5, // Results = #6
20288/* 40296*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
20289 4/*#Ops*/, 3, 4, 6, 1,
20290 // Src: (st v16i8:{ *:[v16i8] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
20291 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), v16i8:{ *:[v16i8] }:$val)
20292/* 40305*/ 0, /*End of Scope*/
20293/* 40306*/ /*Scope*/ 24, /*->40331*/
20294/* 40307*/ OPC_CheckChild2Type, MVT::i32,
20295/* 40309*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20296/* 40311*/ OPC_CheckPredicate, 19, // Predicate_store
20297/* 40313*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20298/* 40315*/ OPC_EmitMergeInputChains1_0,
20299/* 40316*/ OPC_EmitInteger, MVT::i32, 0,
20300/* 40319*/ OPC_EmitInteger, MVT::i32, 0,
20301/* 40322*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
20302 4/*#Ops*/, 3, 4, 2, 1,
20303 // Src: (st v16i8:{ *:[v16i8] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
20304 // Dst: (STORE_V128_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
20305/* 40331*/ /*Scope*/ 24, /*->40356*/
20306/* 40332*/ OPC_CheckChild2Type, MVT::i64,
20307/* 40334*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20308/* 40336*/ OPC_CheckPredicate, 19, // Predicate_store
20309/* 40338*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20310/* 40340*/ OPC_EmitMergeInputChains1_0,
20311/* 40341*/ OPC_EmitInteger, MVT::i32, 0,
20312/* 40344*/ OPC_EmitInteger, MVT::i64, 0,
20313/* 40347*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
20314 4/*#Ops*/, 3, 4, 2, 1,
20315 // Src: (st v16i8:{ *:[v16i8] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
20316 // Dst: (STORE_V128_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, v16i8:{ *:[v16i8] }:$val)
20317/* 40356*/ 0, /*End of Scope*/
20318/* 40357*/ 0, /*End of Scope*/
20319/* 40358*/ /*Scope*/ 56|128,8/*1080*/, /*->41440*/
20320/* 40360*/ OPC_CheckChild1Type, MVT::v8i16,
20321/* 40362*/ OPC_Scope, 3|128,5/*643*/, /*->41008*/ // 2 children in Scope
20322/* 40365*/ OPC_MoveChild2,
20323/* 40366*/ OPC_SwitchOpcode /*3 cases */, 75|128,1/*203*/, TARGET_VAL(ISD::ADD),// ->40574
20324/* 40371*/ OPC_RecordChild0, // #2 = $addr
20325/* 40372*/ OPC_RecordChild1, // #3 = $off
20326/* 40373*/ OPC_MoveChild1,
20327/* 40374*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20328/* 40377*/ OPC_MoveParent,
20329/* 40378*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
20330/* 40380*/ OPC_SwitchType /*2 cases */, 94, MVT::i32,// ->40477
20331/* 40383*/ OPC_MoveParent,
20332/* 40384*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20333/* 40386*/ OPC_Scope, 19, /*->40407*/ // 2 children in Scope
20334/* 40388*/ OPC_CheckPredicate, 19, // Predicate_store
20335/* 40390*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20336/* 40392*/ OPC_EmitMergeInputChains1_0,
20337/* 40393*/ OPC_EmitInteger, MVT::i32, 0,
20338/* 40396*/ OPC_EmitConvertToTarget, 3,
20339/* 40398*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
20340 4/*#Ops*/, 4, 5, 2, 1,
20341 // Src: (st v8i16:{ *:[v8i16] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20342 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
20343/* 40407*/ /*Scope*/ 68, /*->40476*/
20344/* 40408*/ OPC_CheckPredicate, 20, // Predicate_truncstore
20345/* 40410*/ OPC_CheckPredicate, 21, // Predicate_truncstorevi8
20346/* 40412*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20347/* 40414*/ OPC_EmitMergeInputChains1_0,
20348/* 40415*/ OPC_EmitInteger, MVT::i32, 0,
20349/* 40418*/ OPC_EmitConvertToTarget, 3,
20350/* 40420*/ OPC_EmitInteger, MVT::i32, 127|128,1|128,124|128,7/*16711935*/,
20351/* 40426*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20352 MVT::i32, 1/*#Ops*/, 6, // Results = #7
20353/* 40433*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
20354 MVT::v16i8, 1/*#Ops*/, 7, // Results = #8
20355/* 40440*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
20356 MVT::v16i8, 2/*#Ops*/, 8, 1, // Results = #9
20357/* 40448*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I8x16), 0,
20358 MVT::v16i8, 2/*#Ops*/, 9, 1, // Results = #10
20359/* 40456*/ OPC_EmitInteger, MVT::i32, 0,
20360/* 40459*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
20361 MVT::i64, 2/*#Ops*/, 10, 11, // Results = #12
20362/* 40467*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
20363 4/*#Ops*/, 4, 5, 2, 12,
20364 // Src: (st v8i16:{ *:[v8i16] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi8>> - Complexity = 11
20365 // Dst: (STORE_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, ?:{ *:[i32] }:$addr, (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I8x16:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 16711935:{ *:[i32] })), ?:{ *:[v8i16] }:$val), ?:{ *:[v8i16] }:$val), 0:{ *:[i32] }))
20366/* 40476*/ 0, /*End of Scope*/
20367/* 40477*/ /*SwitchType*/ 94, MVT::i64,// ->40573
20368/* 40479*/ OPC_MoveParent,
20369/* 40480*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20370/* 40482*/ OPC_Scope, 19, /*->40503*/ // 2 children in Scope
20371/* 40484*/ OPC_CheckPredicate, 19, // Predicate_store
20372/* 40486*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20373/* 40488*/ OPC_EmitMergeInputChains1_0,
20374/* 40489*/ OPC_EmitInteger, MVT::i32, 0,
20375/* 40492*/ OPC_EmitConvertToTarget, 3,
20376/* 40494*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
20377 4/*#Ops*/, 4, 5, 2, 1,
20378 // Src: (st v8i16:{ *:[v8i16] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20379 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, v8i16:{ *:[v8i16] }:$val)
20380/* 40503*/ /*Scope*/ 68, /*->40572*/
20381/* 40504*/ OPC_CheckPredicate, 20, // Predicate_truncstore
20382/* 40506*/ OPC_CheckPredicate, 21, // Predicate_truncstorevi8
20383/* 40508*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20384/* 40510*/ OPC_EmitMergeInputChains1_0,
20385/* 40511*/ OPC_EmitInteger, MVT::i32, 0,
20386/* 40514*/ OPC_EmitConvertToTarget, 3,
20387/* 40516*/ OPC_EmitInteger, MVT::i32, 127|128,1|128,124|128,7/*16711935*/,
20388/* 40522*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20389 MVT::i32, 1/*#Ops*/, 6, // Results = #7
20390/* 40529*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
20391 MVT::v16i8, 1/*#Ops*/, 7, // Results = #8
20392/* 40536*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
20393 MVT::v16i8, 2/*#Ops*/, 8, 1, // Results = #9
20394/* 40544*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I8x16), 0,
20395 MVT::v16i8, 2/*#Ops*/, 9, 1, // Results = #10
20396/* 40552*/ OPC_EmitInteger, MVT::i32, 0,
20397/* 40555*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
20398 MVT::i64, 2/*#Ops*/, 10, 11, // Results = #12
20399/* 40563*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
20400 4/*#Ops*/, 4, 5, 2, 12,
20401 // Src: (st v8i16:{ *:[v8i16] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi8>> - Complexity = 11
20402 // Dst: (STORE_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, ?:{ *:[i64] }:$addr, (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I8x16:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 16711935:{ *:[i32] })), ?:{ *:[v8i16] }:$val), ?:{ *:[v8i16] }:$val), 0:{ *:[i32] }))
20403/* 40572*/ 0, /*End of Scope*/
20404/* 40573*/ 0, // EndSwitchType
20405/* 40574*/ /*SwitchOpcode*/ 75|128,1/*203*/, TARGET_VAL(ISD::OR),// ->40781
20406/* 40578*/ OPC_RecordChild0, // #2 = $addr
20407/* 40579*/ OPC_RecordChild1, // #3 = $off
20408/* 40580*/ OPC_MoveChild1,
20409/* 40581*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20410/* 40584*/ OPC_MoveParent,
20411/* 40585*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
20412/* 40587*/ OPC_SwitchType /*2 cases */, 94, MVT::i32,// ->40684
20413/* 40590*/ OPC_MoveParent,
20414/* 40591*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20415/* 40593*/ OPC_Scope, 19, /*->40614*/ // 2 children in Scope
20416/* 40595*/ OPC_CheckPredicate, 19, // Predicate_store
20417/* 40597*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20418/* 40599*/ OPC_EmitMergeInputChains1_0,
20419/* 40600*/ OPC_EmitInteger, MVT::i32, 0,
20420/* 40603*/ OPC_EmitConvertToTarget, 3,
20421/* 40605*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
20422 4/*#Ops*/, 4, 5, 2, 1,
20423 // Src: (st v8i16:{ *:[v8i16] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20424 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
20425/* 40614*/ /*Scope*/ 68, /*->40683*/
20426/* 40615*/ OPC_CheckPredicate, 20, // Predicate_truncstore
20427/* 40617*/ OPC_CheckPredicate, 21, // Predicate_truncstorevi8
20428/* 40619*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20429/* 40621*/ OPC_EmitMergeInputChains1_0,
20430/* 40622*/ OPC_EmitInteger, MVT::i32, 0,
20431/* 40625*/ OPC_EmitConvertToTarget, 3,
20432/* 40627*/ OPC_EmitInteger, MVT::i32, 127|128,1|128,124|128,7/*16711935*/,
20433/* 40633*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20434 MVT::i32, 1/*#Ops*/, 6, // Results = #7
20435/* 40640*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
20436 MVT::v16i8, 1/*#Ops*/, 7, // Results = #8
20437/* 40647*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
20438 MVT::v16i8, 2/*#Ops*/, 8, 1, // Results = #9
20439/* 40655*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I8x16), 0,
20440 MVT::v16i8, 2/*#Ops*/, 9, 1, // Results = #10
20441/* 40663*/ OPC_EmitInteger, MVT::i32, 0,
20442/* 40666*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
20443 MVT::i64, 2/*#Ops*/, 10, 11, // Results = #12
20444/* 40674*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
20445 4/*#Ops*/, 4, 5, 2, 12,
20446 // Src: (st v8i16:{ *:[v8i16] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi8>> - Complexity = 11
20447 // Dst: (STORE_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, ?:{ *:[i32] }:$addr, (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I8x16:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 16711935:{ *:[i32] })), ?:{ *:[v8i16] }:$val), ?:{ *:[v8i16] }:$val), 0:{ *:[i32] }))
20448/* 40683*/ 0, /*End of Scope*/
20449/* 40684*/ /*SwitchType*/ 94, MVT::i64,// ->40780
20450/* 40686*/ OPC_MoveParent,
20451/* 40687*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20452/* 40689*/ OPC_Scope, 19, /*->40710*/ // 2 children in Scope
20453/* 40691*/ OPC_CheckPredicate, 19, // Predicate_store
20454/* 40693*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20455/* 40695*/ OPC_EmitMergeInputChains1_0,
20456/* 40696*/ OPC_EmitInteger, MVT::i32, 0,
20457/* 40699*/ OPC_EmitConvertToTarget, 3,
20458/* 40701*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
20459 4/*#Ops*/, 4, 5, 2, 1,
20460 // Src: (st v8i16:{ *:[v8i16] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20461 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, v8i16:{ *:[v8i16] }:$val)
20462/* 40710*/ /*Scope*/ 68, /*->40779*/
20463/* 40711*/ OPC_CheckPredicate, 20, // Predicate_truncstore
20464/* 40713*/ OPC_CheckPredicate, 21, // Predicate_truncstorevi8
20465/* 40715*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20466/* 40717*/ OPC_EmitMergeInputChains1_0,
20467/* 40718*/ OPC_EmitInteger, MVT::i32, 0,
20468/* 40721*/ OPC_EmitConvertToTarget, 3,
20469/* 40723*/ OPC_EmitInteger, MVT::i32, 127|128,1|128,124|128,7/*16711935*/,
20470/* 40729*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20471 MVT::i32, 1/*#Ops*/, 6, // Results = #7
20472/* 40736*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
20473 MVT::v16i8, 1/*#Ops*/, 7, // Results = #8
20474/* 40743*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
20475 MVT::v16i8, 2/*#Ops*/, 8, 1, // Results = #9
20476/* 40751*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I8x16), 0,
20477 MVT::v16i8, 2/*#Ops*/, 9, 1, // Results = #10
20478/* 40759*/ OPC_EmitInteger, MVT::i32, 0,
20479/* 40762*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
20480 MVT::i64, 2/*#Ops*/, 10, 11, // Results = #12
20481/* 40770*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
20482 4/*#Ops*/, 4, 5, 2, 12,
20483 // Src: (st v8i16:{ *:[v8i16] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi8>> - Complexity = 11
20484 // Dst: (STORE_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, ?:{ *:[i64] }:$addr, (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I8x16:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 16711935:{ *:[i32] })), ?:{ *:[v8i16] }:$val), ?:{ *:[v8i16] }:$val), 0:{ *:[i32] }))
20485/* 40779*/ 0, /*End of Scope*/
20486/* 40780*/ 0, // EndSwitchType
20487/* 40781*/ /*SwitchOpcode*/ 94|128,1/*222*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->41007
20488/* 40785*/ OPC_RecordChild0, // #2 = $off
20489/* 40786*/ OPC_MoveChild0,
20490/* 40787*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
20491/* 40790*/ OPC_MoveParent,
20492/* 40791*/ OPC_MoveParent,
20493/* 40792*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20494/* 40794*/ OPC_Scope, 56, /*->40852*/ // 2 children in Scope
20495/* 40796*/ OPC_CheckPredicate, 19, // Predicate_store
20496/* 40798*/ OPC_Scope, 25, /*->40825*/ // 2 children in Scope
20497/* 40800*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
20498/* 40802*/ OPC_EmitMergeInputChains1_0,
20499/* 40803*/ OPC_EmitInteger, MVT::i32, 0,
20500/* 40806*/ OPC_EmitInteger, MVT::i32, 0,
20501/* 40809*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20502 MVT::i32, 1/*#Ops*/, 4, // Results = #5
20503/* 40816*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
20504 4/*#Ops*/, 3, 2, 5, 1,
20505 // Src: (st v8i16:{ *:[v8i16] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20506 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v8i16:{ *:[v8i16] }:$val)
20507/* 40825*/ /*Scope*/ 25, /*->40851*/
20508/* 40826*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
20509/* 40828*/ OPC_EmitMergeInputChains1_0,
20510/* 40829*/ OPC_EmitInteger, MVT::i32, 0,
20511/* 40832*/ OPC_EmitInteger, MVT::i64, 0,
20512/* 40835*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
20513 MVT::i64, 1/*#Ops*/, 4, // Results = #5
20514/* 40842*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
20515 4/*#Ops*/, 3, 2, 5, 1,
20516 // Src: (st v8i16:{ *:[v8i16] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20517 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), v8i16:{ *:[v8i16] }:$val)
20518/* 40851*/ 0, /*End of Scope*/
20519/* 40852*/ /*Scope*/ 24|128,1/*152*/, /*->41006*/
20520/* 40854*/ OPC_CheckPredicate, 20, // Predicate_truncstore
20521/* 40856*/ OPC_CheckPredicate, 21, // Predicate_truncstorevi8
20522/* 40858*/ OPC_Scope, 72, /*->40932*/ // 2 children in Scope
20523/* 40860*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
20524/* 40862*/ OPC_EmitMergeInputChains1_0,
20525/* 40863*/ OPC_EmitInteger, MVT::i32, 0,
20526/* 40866*/ OPC_EmitInteger, MVT::i32, 0,
20527/* 40869*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20528 MVT::i32, 1/*#Ops*/, 4, // Results = #5
20529/* 40876*/ OPC_EmitInteger, MVT::i32, 127|128,1|128,124|128,7/*16711935*/,
20530/* 40882*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20531 MVT::i32, 1/*#Ops*/, 6, // Results = #7
20532/* 40889*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
20533 MVT::v16i8, 1/*#Ops*/, 7, // Results = #8
20534/* 40896*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
20535 MVT::v16i8, 2/*#Ops*/, 8, 1, // Results = #9
20536/* 40904*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I8x16), 0,
20537 MVT::v16i8, 2/*#Ops*/, 9, 1, // Results = #10
20538/* 40912*/ OPC_EmitInteger, MVT::i32, 0,
20539/* 40915*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
20540 MVT::i64, 2/*#Ops*/, 10, 11, // Results = #12
20541/* 40923*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
20542 4/*#Ops*/, 3, 2, 5, 12,
20543 // Src: (st v8i16:{ *:[v8i16] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi8>> - Complexity = 10
20544 // Dst: (STORE_I64_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I8x16:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 16711935:{ *:[i32] })), ?:{ *:[v8i16] }:$val), ?:{ *:[v8i16] }:$val), 0:{ *:[i32] }))
20545/* 40932*/ /*Scope*/ 72, /*->41005*/
20546/* 40933*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
20547/* 40935*/ OPC_EmitMergeInputChains1_0,
20548/* 40936*/ OPC_EmitInteger, MVT::i32, 0,
20549/* 40939*/ OPC_EmitInteger, MVT::i64, 0,
20550/* 40942*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
20551 MVT::i64, 1/*#Ops*/, 4, // Results = #5
20552/* 40949*/ OPC_EmitInteger, MVT::i32, 127|128,1|128,124|128,7/*16711935*/,
20553/* 40955*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20554 MVT::i32, 1/*#Ops*/, 6, // Results = #7
20555/* 40962*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
20556 MVT::v16i8, 1/*#Ops*/, 7, // Results = #8
20557/* 40969*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
20558 MVT::v16i8, 2/*#Ops*/, 8, 1, // Results = #9
20559/* 40977*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I8x16), 0,
20560 MVT::v16i8, 2/*#Ops*/, 9, 1, // Results = #10
20561/* 40985*/ OPC_EmitInteger, MVT::i32, 0,
20562/* 40988*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
20563 MVT::i64, 2/*#Ops*/, 10, 11, // Results = #12
20564/* 40996*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
20565 4/*#Ops*/, 3, 2, 5, 12,
20566 // Src: (st v8i16:{ *:[v8i16] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi8>> - Complexity = 10
20567 // Dst: (STORE_I64_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I8x16:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 16711935:{ *:[i32] })), ?:{ *:[v8i16] }:$val), ?:{ *:[v8i16] }:$val), 0:{ *:[i32] }))
20568/* 41005*/ 0, /*End of Scope*/
20569/* 41006*/ 0, /*End of Scope*/
20570/* 41007*/ 0, // EndSwitchOpcode
20571/* 41008*/ /*Scope*/ 45|128,3/*429*/, /*->41439*/
20572/* 41010*/ OPC_RecordChild2, // #2 = $off
20573/* 41011*/ OPC_Scope, 100|128,1/*228*/, /*->41242*/ // 3 children in Scope
20574/* 41014*/ OPC_MoveChild2,
20575/* 41015*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20576/* 41018*/ OPC_MoveParent,
20577/* 41019*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20578/* 41021*/ OPC_Scope, 60, /*->41083*/ // 2 children in Scope
20579/* 41023*/ OPC_CheckPredicate, 19, // Predicate_store
20580/* 41025*/ OPC_Scope, 27, /*->41054*/ // 2 children in Scope
20581/* 41027*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20582/* 41029*/ OPC_EmitMergeInputChains1_0,
20583/* 41030*/ OPC_EmitInteger, MVT::i32, 0,
20584/* 41033*/ OPC_EmitConvertToTarget, 2,
20585/* 41035*/ OPC_EmitInteger, MVT::i32, 0,
20586/* 41038*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20587 MVT::i32, 1/*#Ops*/, 5, // Results = #6
20588/* 41045*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
20589 4/*#Ops*/, 3, 4, 6, 1,
20590 // Src: (st v8i16:{ *:[v8i16] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
20591 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v8i16:{ *:[v8i16] }:$val)
20592/* 41054*/ /*Scope*/ 27, /*->41082*/
20593/* 41055*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20594/* 41057*/ OPC_EmitMergeInputChains1_0,
20595/* 41058*/ OPC_EmitInteger, MVT::i32, 0,
20596/* 41061*/ OPC_EmitConvertToTarget, 2,
20597/* 41063*/ OPC_EmitInteger, MVT::i64, 0,
20598/* 41066*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
20599 MVT::i64, 1/*#Ops*/, 5, // Results = #6
20600/* 41073*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
20601 4/*#Ops*/, 3, 4, 6, 1,
20602 // Src: (st v8i16:{ *:[v8i16] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
20603 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), v8i16:{ *:[v8i16] }:$val)
20604/* 41082*/ 0, /*End of Scope*/
20605/* 41083*/ /*Scope*/ 28|128,1/*156*/, /*->41241*/
20606/* 41085*/ OPC_CheckPredicate, 20, // Predicate_truncstore
20607/* 41087*/ OPC_CheckPredicate, 21, // Predicate_truncstorevi8
20608/* 41089*/ OPC_Scope, 74, /*->41165*/ // 2 children in Scope
20609/* 41091*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20610/* 41093*/ OPC_EmitMergeInputChains1_0,
20611/* 41094*/ OPC_EmitInteger, MVT::i32, 0,
20612/* 41097*/ OPC_EmitConvertToTarget, 2,
20613/* 41099*/ OPC_EmitInteger, MVT::i32, 0,
20614/* 41102*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20615 MVT::i32, 1/*#Ops*/, 5, // Results = #6
20616/* 41109*/ OPC_EmitInteger, MVT::i32, 127|128,1|128,124|128,7/*16711935*/,
20617/* 41115*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20618 MVT::i32, 1/*#Ops*/, 7, // Results = #8
20619/* 41122*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
20620 MVT::v16i8, 1/*#Ops*/, 8, // Results = #9
20621/* 41129*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
20622 MVT::v16i8, 2/*#Ops*/, 9, 1, // Results = #10
20623/* 41137*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I8x16), 0,
20624 MVT::v16i8, 2/*#Ops*/, 10, 1, // Results = #11
20625/* 41145*/ OPC_EmitInteger, MVT::i32, 0,
20626/* 41148*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
20627 MVT::i64, 2/*#Ops*/, 11, 12, // Results = #13
20628/* 41156*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
20629 4/*#Ops*/, 3, 4, 6, 13,
20630 // Src: (st v8i16:{ *:[v8i16] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi8>> - Complexity = 7
20631 // Dst: (STORE_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I8x16:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 16711935:{ *:[i32] })), ?:{ *:[v8i16] }:$val), ?:{ *:[v8i16] }:$val), 0:{ *:[i32] }))
20632/* 41165*/ /*Scope*/ 74, /*->41240*/
20633/* 41166*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20634/* 41168*/ OPC_EmitMergeInputChains1_0,
20635/* 41169*/ OPC_EmitInteger, MVT::i32, 0,
20636/* 41172*/ OPC_EmitConvertToTarget, 2,
20637/* 41174*/ OPC_EmitInteger, MVT::i64, 0,
20638/* 41177*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
20639 MVT::i64, 1/*#Ops*/, 5, // Results = #6
20640/* 41184*/ OPC_EmitInteger, MVT::i32, 127|128,1|128,124|128,7/*16711935*/,
20641/* 41190*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20642 MVT::i32, 1/*#Ops*/, 7, // Results = #8
20643/* 41197*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
20644 MVT::v16i8, 1/*#Ops*/, 8, // Results = #9
20645/* 41204*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
20646 MVT::v16i8, 2/*#Ops*/, 9, 1, // Results = #10
20647/* 41212*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I8x16), 0,
20648 MVT::v16i8, 2/*#Ops*/, 10, 1, // Results = #11
20649/* 41220*/ OPC_EmitInteger, MVT::i32, 0,
20650/* 41223*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
20651 MVT::i64, 2/*#Ops*/, 11, 12, // Results = #13
20652/* 41231*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
20653 4/*#Ops*/, 3, 4, 6, 13,
20654 // Src: (st v8i16:{ *:[v8i16] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi8>> - Complexity = 7
20655 // Dst: (STORE_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I8x16:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 16711935:{ *:[i32] })), ?:{ *:[v8i16] }:$val), ?:{ *:[v8i16] }:$val), 0:{ *:[i32] }))
20656/* 41240*/ 0, /*End of Scope*/
20657/* 41241*/ 0, /*End of Scope*/
20658/* 41242*/ /*Scope*/ 97, /*->41340*/
20659/* 41243*/ OPC_CheckChild2Type, MVT::i32,
20660/* 41245*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20661/* 41247*/ OPC_Scope, 20, /*->41269*/ // 2 children in Scope
20662/* 41249*/ OPC_CheckPredicate, 19, // Predicate_store
20663/* 41251*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20664/* 41253*/ OPC_EmitMergeInputChains1_0,
20665/* 41254*/ OPC_EmitInteger, MVT::i32, 0,
20666/* 41257*/ OPC_EmitInteger, MVT::i32, 0,
20667/* 41260*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
20668 4/*#Ops*/, 3, 4, 2, 1,
20669 // Src: (st v8i16:{ *:[v8i16] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
20670 // Dst: (STORE_V128_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
20671/* 41269*/ /*Scope*/ 69, /*->41339*/
20672/* 41270*/ OPC_CheckPredicate, 20, // Predicate_truncstore
20673/* 41272*/ OPC_CheckPredicate, 21, // Predicate_truncstorevi8
20674/* 41274*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20675/* 41276*/ OPC_EmitMergeInputChains1_0,
20676/* 41277*/ OPC_EmitInteger, MVT::i32, 0,
20677/* 41280*/ OPC_EmitInteger, MVT::i32, 0,
20678/* 41283*/ OPC_EmitInteger, MVT::i32, 127|128,1|128,124|128,7/*16711935*/,
20679/* 41289*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20680 MVT::i32, 1/*#Ops*/, 5, // Results = #6
20681/* 41296*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
20682 MVT::v16i8, 1/*#Ops*/, 6, // Results = #7
20683/* 41303*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
20684 MVT::v16i8, 2/*#Ops*/, 7, 1, // Results = #8
20685/* 41311*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I8x16), 0,
20686 MVT::v16i8, 2/*#Ops*/, 8, 1, // Results = #9
20687/* 41319*/ OPC_EmitInteger, MVT::i32, 0,
20688/* 41322*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
20689 MVT::i64, 2/*#Ops*/, 9, 10, // Results = #11
20690/* 41330*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
20691 4/*#Ops*/, 3, 4, 2, 11,
20692 // Src: (st v8i16:{ *:[v8i16] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi8>> - Complexity = 4
20693 // Dst: (STORE_I64_A32 0:{ *:[i32] }, 0:{ *:[i32] }, ?:{ *:[i32] }:$addr, (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I8x16:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 16711935:{ *:[i32] })), ?:{ *:[v8i16] }:$val), ?:{ *:[v8i16] }:$val), 0:{ *:[i32] }))
20694/* 41339*/ 0, /*End of Scope*/
20695/* 41340*/ /*Scope*/ 97, /*->41438*/
20696/* 41341*/ OPC_CheckChild2Type, MVT::i64,
20697/* 41343*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20698/* 41345*/ OPC_Scope, 20, /*->41367*/ // 2 children in Scope
20699/* 41347*/ OPC_CheckPredicate, 19, // Predicate_store
20700/* 41349*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20701/* 41351*/ OPC_EmitMergeInputChains1_0,
20702/* 41352*/ OPC_EmitInteger, MVT::i32, 0,
20703/* 41355*/ OPC_EmitInteger, MVT::i64, 0,
20704/* 41358*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
20705 4/*#Ops*/, 3, 4, 2, 1,
20706 // Src: (st v8i16:{ *:[v8i16] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
20707 // Dst: (STORE_V128_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, v8i16:{ *:[v8i16] }:$val)
20708/* 41367*/ /*Scope*/ 69, /*->41437*/
20709/* 41368*/ OPC_CheckPredicate, 20, // Predicate_truncstore
20710/* 41370*/ OPC_CheckPredicate, 21, // Predicate_truncstorevi8
20711/* 41372*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20712/* 41374*/ OPC_EmitMergeInputChains1_0,
20713/* 41375*/ OPC_EmitInteger, MVT::i32, 0,
20714/* 41378*/ OPC_EmitInteger, MVT::i64, 0,
20715/* 41381*/ OPC_EmitInteger, MVT::i32, 127|128,1|128,124|128,7/*16711935*/,
20716/* 41387*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20717 MVT::i32, 1/*#Ops*/, 5, // Results = #6
20718/* 41394*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
20719 MVT::v16i8, 1/*#Ops*/, 6, // Results = #7
20720/* 41401*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
20721 MVT::v16i8, 2/*#Ops*/, 7, 1, // Results = #8
20722/* 41409*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I8x16), 0,
20723 MVT::v16i8, 2/*#Ops*/, 8, 1, // Results = #9
20724/* 41417*/ OPC_EmitInteger, MVT::i32, 0,
20725/* 41420*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
20726 MVT::i64, 2/*#Ops*/, 9, 10, // Results = #11
20727/* 41428*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
20728 4/*#Ops*/, 3, 4, 2, 11,
20729 // Src: (st v8i16:{ *:[v8i16] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi8>> - Complexity = 4
20730 // Dst: (STORE_I64_A64 0:{ *:[i32] }, 0:{ *:[i64] }, ?:{ *:[i64] }:$addr, (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I8x16:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 16711935:{ *:[i32] })), ?:{ *:[v8i16] }:$val), ?:{ *:[v8i16] }:$val), 0:{ *:[i32] }))
20731/* 41437*/ 0, /*End of Scope*/
20732/* 41438*/ 0, /*End of Scope*/
20733/* 41439*/ 0, /*End of Scope*/
20734/* 41440*/ /*Scope*/ 46|128,8/*1070*/, /*->42512*/
20735/* 41442*/ OPC_CheckChild1Type, MVT::v4i32,
20736/* 41444*/ OPC_Scope, 125|128,4/*637*/, /*->42084*/ // 2 children in Scope
20737/* 41447*/ OPC_MoveChild2,
20738/* 41448*/ OPC_SwitchOpcode /*3 cases */, 73|128,1/*201*/, TARGET_VAL(ISD::ADD),// ->41654
20739/* 41453*/ OPC_RecordChild0, // #2 = $addr
20740/* 41454*/ OPC_RecordChild1, // #3 = $off
20741/* 41455*/ OPC_MoveChild1,
20742/* 41456*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20743/* 41459*/ OPC_MoveParent,
20744/* 41460*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
20745/* 41462*/ OPC_SwitchType /*2 cases */, 93, MVT::i32,// ->41558
20746/* 41465*/ OPC_MoveParent,
20747/* 41466*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20748/* 41468*/ OPC_Scope, 19, /*->41489*/ // 2 children in Scope
20749/* 41470*/ OPC_CheckPredicate, 19, // Predicate_store
20750/* 41472*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20751/* 41474*/ OPC_EmitMergeInputChains1_0,
20752/* 41475*/ OPC_EmitInteger, MVT::i32, 0,
20753/* 41478*/ OPC_EmitConvertToTarget, 3,
20754/* 41480*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
20755 4/*#Ops*/, 4, 5, 2, 1,
20756 // Src: (st v4i32:{ *:[v4i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20757 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
20758/* 41489*/ /*Scope*/ 67, /*->41557*/
20759/* 41490*/ OPC_CheckPredicate, 20, // Predicate_truncstore
20760/* 41492*/ OPC_CheckPredicate, 22, // Predicate_truncstorevi16
20761/* 41494*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20762/* 41496*/ OPC_EmitMergeInputChains1_0,
20763/* 41497*/ OPC_EmitInteger, MVT::i32, 0,
20764/* 41500*/ OPC_EmitConvertToTarget, 3,
20765/* 41502*/ OPC_EmitInteger, MVT::i32, 127|128,127|128,3/*65535*/,
20766/* 41507*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20767 MVT::i32, 1/*#Ops*/, 6, // Results = #7
20768/* 41514*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
20769 MVT::v16i8, 1/*#Ops*/, 7, // Results = #8
20770/* 41521*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
20771 MVT::v16i8, 2/*#Ops*/, 8, 1, // Results = #9
20772/* 41529*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I16x8), 0,
20773 MVT::v16i8, 2/*#Ops*/, 9, 1, // Results = #10
20774/* 41537*/ OPC_EmitInteger, MVT::i32, 0,
20775/* 41540*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
20776 MVT::i64, 2/*#Ops*/, 10, 11, // Results = #12
20777/* 41548*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
20778 4/*#Ops*/, 4, 5, 2, 12,
20779 // Src: (st v4i32:{ *:[v4i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi16>> - Complexity = 11
20780 // Dst: (STORE_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, ?:{ *:[i32] }:$addr, (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I16x8:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 65535:{ *:[i32] })), ?:{ *:[v4i32] }:$val), ?:{ *:[v4i32] }:$val), 0:{ *:[i32] }))
20781/* 41557*/ 0, /*End of Scope*/
20782/* 41558*/ /*SwitchType*/ 93, MVT::i64,// ->41653
20783/* 41560*/ OPC_MoveParent,
20784/* 41561*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20785/* 41563*/ OPC_Scope, 19, /*->41584*/ // 2 children in Scope
20786/* 41565*/ OPC_CheckPredicate, 19, // Predicate_store
20787/* 41567*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20788/* 41569*/ OPC_EmitMergeInputChains1_0,
20789/* 41570*/ OPC_EmitInteger, MVT::i32, 0,
20790/* 41573*/ OPC_EmitConvertToTarget, 3,
20791/* 41575*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
20792 4/*#Ops*/, 4, 5, 2, 1,
20793 // Src: (st v4i32:{ *:[v4i32] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20794 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, v4i32:{ *:[v4i32] }:$val)
20795/* 41584*/ /*Scope*/ 67, /*->41652*/
20796/* 41585*/ OPC_CheckPredicate, 20, // Predicate_truncstore
20797/* 41587*/ OPC_CheckPredicate, 22, // Predicate_truncstorevi16
20798/* 41589*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20799/* 41591*/ OPC_EmitMergeInputChains1_0,
20800/* 41592*/ OPC_EmitInteger, MVT::i32, 0,
20801/* 41595*/ OPC_EmitConvertToTarget, 3,
20802/* 41597*/ OPC_EmitInteger, MVT::i32, 127|128,127|128,3/*65535*/,
20803/* 41602*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20804 MVT::i32, 1/*#Ops*/, 6, // Results = #7
20805/* 41609*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
20806 MVT::v16i8, 1/*#Ops*/, 7, // Results = #8
20807/* 41616*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
20808 MVT::v16i8, 2/*#Ops*/, 8, 1, // Results = #9
20809/* 41624*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I16x8), 0,
20810 MVT::v16i8, 2/*#Ops*/, 9, 1, // Results = #10
20811/* 41632*/ OPC_EmitInteger, MVT::i32, 0,
20812/* 41635*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
20813 MVT::i64, 2/*#Ops*/, 10, 11, // Results = #12
20814/* 41643*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
20815 4/*#Ops*/, 4, 5, 2, 12,
20816 // Src: (st v4i32:{ *:[v4i32] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi16>> - Complexity = 11
20817 // Dst: (STORE_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, ?:{ *:[i64] }:$addr, (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I16x8:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 65535:{ *:[i32] })), ?:{ *:[v4i32] }:$val), ?:{ *:[v4i32] }:$val), 0:{ *:[i32] }))
20818/* 41652*/ 0, /*End of Scope*/
20819/* 41653*/ 0, // EndSwitchType
20820/* 41654*/ /*SwitchOpcode*/ 73|128,1/*201*/, TARGET_VAL(ISD::OR),// ->41859
20821/* 41658*/ OPC_RecordChild0, // #2 = $addr
20822/* 41659*/ OPC_RecordChild1, // #3 = $off
20823/* 41660*/ OPC_MoveChild1,
20824/* 41661*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20825/* 41664*/ OPC_MoveParent,
20826/* 41665*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
20827/* 41667*/ OPC_SwitchType /*2 cases */, 93, MVT::i32,// ->41763
20828/* 41670*/ OPC_MoveParent,
20829/* 41671*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20830/* 41673*/ OPC_Scope, 19, /*->41694*/ // 2 children in Scope
20831/* 41675*/ OPC_CheckPredicate, 19, // Predicate_store
20832/* 41677*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20833/* 41679*/ OPC_EmitMergeInputChains1_0,
20834/* 41680*/ OPC_EmitInteger, MVT::i32, 0,
20835/* 41683*/ OPC_EmitConvertToTarget, 3,
20836/* 41685*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
20837 4/*#Ops*/, 4, 5, 2, 1,
20838 // Src: (st v4i32:{ *:[v4i32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20839 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
20840/* 41694*/ /*Scope*/ 67, /*->41762*/
20841/* 41695*/ OPC_CheckPredicate, 20, // Predicate_truncstore
20842/* 41697*/ OPC_CheckPredicate, 22, // Predicate_truncstorevi16
20843/* 41699*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20844/* 41701*/ OPC_EmitMergeInputChains1_0,
20845/* 41702*/ OPC_EmitInteger, MVT::i32, 0,
20846/* 41705*/ OPC_EmitConvertToTarget, 3,
20847/* 41707*/ OPC_EmitInteger, MVT::i32, 127|128,127|128,3/*65535*/,
20848/* 41712*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20849 MVT::i32, 1/*#Ops*/, 6, // Results = #7
20850/* 41719*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
20851 MVT::v16i8, 1/*#Ops*/, 7, // Results = #8
20852/* 41726*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
20853 MVT::v16i8, 2/*#Ops*/, 8, 1, // Results = #9
20854/* 41734*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I16x8), 0,
20855 MVT::v16i8, 2/*#Ops*/, 9, 1, // Results = #10
20856/* 41742*/ OPC_EmitInteger, MVT::i32, 0,
20857/* 41745*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
20858 MVT::i64, 2/*#Ops*/, 10, 11, // Results = #12
20859/* 41753*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
20860 4/*#Ops*/, 4, 5, 2, 12,
20861 // Src: (st v4i32:{ *:[v4i32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi16>> - Complexity = 11
20862 // Dst: (STORE_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, ?:{ *:[i32] }:$addr, (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I16x8:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 65535:{ *:[i32] })), ?:{ *:[v4i32] }:$val), ?:{ *:[v4i32] }:$val), 0:{ *:[i32] }))
20863/* 41762*/ 0, /*End of Scope*/
20864/* 41763*/ /*SwitchType*/ 93, MVT::i64,// ->41858
20865/* 41765*/ OPC_MoveParent,
20866/* 41766*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20867/* 41768*/ OPC_Scope, 19, /*->41789*/ // 2 children in Scope
20868/* 41770*/ OPC_CheckPredicate, 19, // Predicate_store
20869/* 41772*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20870/* 41774*/ OPC_EmitMergeInputChains1_0,
20871/* 41775*/ OPC_EmitInteger, MVT::i32, 0,
20872/* 41778*/ OPC_EmitConvertToTarget, 3,
20873/* 41780*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
20874 4/*#Ops*/, 4, 5, 2, 1,
20875 // Src: (st v4i32:{ *:[v4i32] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20876 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, v4i32:{ *:[v4i32] }:$val)
20877/* 41789*/ /*Scope*/ 67, /*->41857*/
20878/* 41790*/ OPC_CheckPredicate, 20, // Predicate_truncstore
20879/* 41792*/ OPC_CheckPredicate, 22, // Predicate_truncstorevi16
20880/* 41794*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
20881/* 41796*/ OPC_EmitMergeInputChains1_0,
20882/* 41797*/ OPC_EmitInteger, MVT::i32, 0,
20883/* 41800*/ OPC_EmitConvertToTarget, 3,
20884/* 41802*/ OPC_EmitInteger, MVT::i32, 127|128,127|128,3/*65535*/,
20885/* 41807*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20886 MVT::i32, 1/*#Ops*/, 6, // Results = #7
20887/* 41814*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
20888 MVT::v16i8, 1/*#Ops*/, 7, // Results = #8
20889/* 41821*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
20890 MVT::v16i8, 2/*#Ops*/, 8, 1, // Results = #9
20891/* 41829*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I16x8), 0,
20892 MVT::v16i8, 2/*#Ops*/, 9, 1, // Results = #10
20893/* 41837*/ OPC_EmitInteger, MVT::i32, 0,
20894/* 41840*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
20895 MVT::i64, 2/*#Ops*/, 10, 11, // Results = #12
20896/* 41848*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
20897 4/*#Ops*/, 4, 5, 2, 12,
20898 // Src: (st v4i32:{ *:[v4i32] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi16>> - Complexity = 11
20899 // Dst: (STORE_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, ?:{ *:[i64] }:$addr, (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I16x8:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 65535:{ *:[i32] })), ?:{ *:[v4i32] }:$val), ?:{ *:[v4i32] }:$val), 0:{ *:[i32] }))
20900/* 41857*/ 0, /*End of Scope*/
20901/* 41858*/ 0, // EndSwitchType
20902/* 41859*/ /*SwitchOpcode*/ 92|128,1/*220*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->42083
20903/* 41863*/ OPC_RecordChild0, // #2 = $off
20904/* 41864*/ OPC_MoveChild0,
20905/* 41865*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
20906/* 41868*/ OPC_MoveParent,
20907/* 41869*/ OPC_MoveParent,
20908/* 41870*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20909/* 41872*/ OPC_Scope, 56, /*->41930*/ // 2 children in Scope
20910/* 41874*/ OPC_CheckPredicate, 19, // Predicate_store
20911/* 41876*/ OPC_Scope, 25, /*->41903*/ // 2 children in Scope
20912/* 41878*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
20913/* 41880*/ OPC_EmitMergeInputChains1_0,
20914/* 41881*/ OPC_EmitInteger, MVT::i32, 0,
20915/* 41884*/ OPC_EmitInteger, MVT::i32, 0,
20916/* 41887*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20917 MVT::i32, 1/*#Ops*/, 4, // Results = #5
20918/* 41894*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
20919 4/*#Ops*/, 3, 2, 5, 1,
20920 // Src: (st v4i32:{ *:[v4i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20921 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v4i32:{ *:[v4i32] }:$val)
20922/* 41903*/ /*Scope*/ 25, /*->41929*/
20923/* 41904*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
20924/* 41906*/ OPC_EmitMergeInputChains1_0,
20925/* 41907*/ OPC_EmitInteger, MVT::i32, 0,
20926/* 41910*/ OPC_EmitInteger, MVT::i64, 0,
20927/* 41913*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
20928 MVT::i64, 1/*#Ops*/, 4, // Results = #5
20929/* 41920*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
20930 4/*#Ops*/, 3, 2, 5, 1,
20931 // Src: (st v4i32:{ *:[v4i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20932 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), v4i32:{ *:[v4i32] }:$val)
20933/* 41929*/ 0, /*End of Scope*/
20934/* 41930*/ /*Scope*/ 22|128,1/*150*/, /*->42082*/
20935/* 41932*/ OPC_CheckPredicate, 20, // Predicate_truncstore
20936/* 41934*/ OPC_CheckPredicate, 22, // Predicate_truncstorevi16
20937/* 41936*/ OPC_Scope, 71, /*->42009*/ // 2 children in Scope
20938/* 41938*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
20939/* 41940*/ OPC_EmitMergeInputChains1_0,
20940/* 41941*/ OPC_EmitInteger, MVT::i32, 0,
20941/* 41944*/ OPC_EmitInteger, MVT::i32, 0,
20942/* 41947*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20943 MVT::i32, 1/*#Ops*/, 4, // Results = #5
20944/* 41954*/ OPC_EmitInteger, MVT::i32, 127|128,127|128,3/*65535*/,
20945/* 41959*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20946 MVT::i32, 1/*#Ops*/, 6, // Results = #7
20947/* 41966*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
20948 MVT::v16i8, 1/*#Ops*/, 7, // Results = #8
20949/* 41973*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
20950 MVT::v16i8, 2/*#Ops*/, 8, 1, // Results = #9
20951/* 41981*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I16x8), 0,
20952 MVT::v16i8, 2/*#Ops*/, 9, 1, // Results = #10
20953/* 41989*/ OPC_EmitInteger, MVT::i32, 0,
20954/* 41992*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
20955 MVT::i64, 2/*#Ops*/, 10, 11, // Results = #12
20956/* 42000*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
20957 4/*#Ops*/, 3, 2, 5, 12,
20958 // Src: (st v4i32:{ *:[v4i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi16>> - Complexity = 10
20959 // Dst: (STORE_I64_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I16x8:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 65535:{ *:[i32] })), ?:{ *:[v4i32] }:$val), ?:{ *:[v4i32] }:$val), 0:{ *:[i32] }))
20960/* 42009*/ /*Scope*/ 71, /*->42081*/
20961/* 42010*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
20962/* 42012*/ OPC_EmitMergeInputChains1_0,
20963/* 42013*/ OPC_EmitInteger, MVT::i32, 0,
20964/* 42016*/ OPC_EmitInteger, MVT::i64, 0,
20965/* 42019*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
20966 MVT::i64, 1/*#Ops*/, 4, // Results = #5
20967/* 42026*/ OPC_EmitInteger, MVT::i32, 127|128,127|128,3/*65535*/,
20968/* 42031*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20969 MVT::i32, 1/*#Ops*/, 6, // Results = #7
20970/* 42038*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
20971 MVT::v16i8, 1/*#Ops*/, 7, // Results = #8
20972/* 42045*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
20973 MVT::v16i8, 2/*#Ops*/, 8, 1, // Results = #9
20974/* 42053*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I16x8), 0,
20975 MVT::v16i8, 2/*#Ops*/, 9, 1, // Results = #10
20976/* 42061*/ OPC_EmitInteger, MVT::i32, 0,
20977/* 42064*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
20978 MVT::i64, 2/*#Ops*/, 10, 11, // Results = #12
20979/* 42072*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
20980 4/*#Ops*/, 3, 2, 5, 12,
20981 // Src: (st v4i32:{ *:[v4i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi16>> - Complexity = 10
20982 // Dst: (STORE_I64_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I16x8:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 65535:{ *:[i32] })), ?:{ *:[v4i32] }:$val), ?:{ *:[v4i32] }:$val), 0:{ *:[i32] }))
20983/* 42081*/ 0, /*End of Scope*/
20984/* 42082*/ 0, /*End of Scope*/
20985/* 42083*/ 0, // EndSwitchOpcode
20986/* 42084*/ /*Scope*/ 41|128,3/*425*/, /*->42511*/
20987/* 42086*/ OPC_RecordChild2, // #2 = $off
20988/* 42087*/ OPC_Scope, 98|128,1/*226*/, /*->42316*/ // 3 children in Scope
20989/* 42090*/ OPC_MoveChild2,
20990/* 42091*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20991/* 42094*/ OPC_MoveParent,
20992/* 42095*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
20993/* 42097*/ OPC_Scope, 60, /*->42159*/ // 2 children in Scope
20994/* 42099*/ OPC_CheckPredicate, 19, // Predicate_store
20995/* 42101*/ OPC_Scope, 27, /*->42130*/ // 2 children in Scope
20996/* 42103*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
20997/* 42105*/ OPC_EmitMergeInputChains1_0,
20998/* 42106*/ OPC_EmitInteger, MVT::i32, 0,
20999/* 42109*/ OPC_EmitConvertToTarget, 2,
21000/* 42111*/ OPC_EmitInteger, MVT::i32, 0,
21001/* 42114*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21002 MVT::i32, 1/*#Ops*/, 5, // Results = #6
21003/* 42121*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21004 4/*#Ops*/, 3, 4, 6, 1,
21005 // Src: (st v4i32:{ *:[v4i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
21006 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v4i32:{ *:[v4i32] }:$val)
21007/* 42130*/ /*Scope*/ 27, /*->42158*/
21008/* 42131*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
21009/* 42133*/ OPC_EmitMergeInputChains1_0,
21010/* 42134*/ OPC_EmitInteger, MVT::i32, 0,
21011/* 42137*/ OPC_EmitConvertToTarget, 2,
21012/* 42139*/ OPC_EmitInteger, MVT::i64, 0,
21013/* 42142*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
21014 MVT::i64, 1/*#Ops*/, 5, // Results = #6
21015/* 42149*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21016 4/*#Ops*/, 3, 4, 6, 1,
21017 // Src: (st v4i32:{ *:[v4i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
21018 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), v4i32:{ *:[v4i32] }:$val)
21019/* 42158*/ 0, /*End of Scope*/
21020/* 42159*/ /*Scope*/ 26|128,1/*154*/, /*->42315*/
21021/* 42161*/ OPC_CheckPredicate, 20, // Predicate_truncstore
21022/* 42163*/ OPC_CheckPredicate, 22, // Predicate_truncstorevi16
21023/* 42165*/ OPC_Scope, 73, /*->42240*/ // 2 children in Scope
21024/* 42167*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
21025/* 42169*/ OPC_EmitMergeInputChains1_0,
21026/* 42170*/ OPC_EmitInteger, MVT::i32, 0,
21027/* 42173*/ OPC_EmitConvertToTarget, 2,
21028/* 42175*/ OPC_EmitInteger, MVT::i32, 0,
21029/* 42178*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21030 MVT::i32, 1/*#Ops*/, 5, // Results = #6
21031/* 42185*/ OPC_EmitInteger, MVT::i32, 127|128,127|128,3/*65535*/,
21032/* 42190*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21033 MVT::i32, 1/*#Ops*/, 7, // Results = #8
21034/* 42197*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
21035 MVT::v16i8, 1/*#Ops*/, 8, // Results = #9
21036/* 42204*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
21037 MVT::v16i8, 2/*#Ops*/, 9, 1, // Results = #10
21038/* 42212*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I16x8), 0,
21039 MVT::v16i8, 2/*#Ops*/, 10, 1, // Results = #11
21040/* 42220*/ OPC_EmitInteger, MVT::i32, 0,
21041/* 42223*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
21042 MVT::i64, 2/*#Ops*/, 11, 12, // Results = #13
21043/* 42231*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
21044 4/*#Ops*/, 3, 4, 6, 13,
21045 // Src: (st v4i32:{ *:[v4i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi16>> - Complexity = 7
21046 // Dst: (STORE_I64_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I16x8:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 65535:{ *:[i32] })), ?:{ *:[v4i32] }:$val), ?:{ *:[v4i32] }:$val), 0:{ *:[i32] }))
21047/* 42240*/ /*Scope*/ 73, /*->42314*/
21048/* 42241*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
21049/* 42243*/ OPC_EmitMergeInputChains1_0,
21050/* 42244*/ OPC_EmitInteger, MVT::i32, 0,
21051/* 42247*/ OPC_EmitConvertToTarget, 2,
21052/* 42249*/ OPC_EmitInteger, MVT::i64, 0,
21053/* 42252*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
21054 MVT::i64, 1/*#Ops*/, 5, // Results = #6
21055/* 42259*/ OPC_EmitInteger, MVT::i32, 127|128,127|128,3/*65535*/,
21056/* 42264*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21057 MVT::i32, 1/*#Ops*/, 7, // Results = #8
21058/* 42271*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
21059 MVT::v16i8, 1/*#Ops*/, 8, // Results = #9
21060/* 42278*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
21061 MVT::v16i8, 2/*#Ops*/, 9, 1, // Results = #10
21062/* 42286*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I16x8), 0,
21063 MVT::v16i8, 2/*#Ops*/, 10, 1, // Results = #11
21064/* 42294*/ OPC_EmitInteger, MVT::i32, 0,
21065/* 42297*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
21066 MVT::i64, 2/*#Ops*/, 11, 12, // Results = #13
21067/* 42305*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
21068 4/*#Ops*/, 3, 4, 6, 13,
21069 // Src: (st v4i32:{ *:[v4i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi16>> - Complexity = 7
21070 // Dst: (STORE_I64_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I16x8:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 65535:{ *:[i32] })), ?:{ *:[v4i32] }:$val), ?:{ *:[v4i32] }:$val), 0:{ *:[i32] }))
21071/* 42314*/ 0, /*End of Scope*/
21072/* 42315*/ 0, /*End of Scope*/
21073/* 42316*/ /*Scope*/ 96, /*->42413*/
21074/* 42317*/ OPC_CheckChild2Type, MVT::i32,
21075/* 42319*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21076/* 42321*/ OPC_Scope, 20, /*->42343*/ // 2 children in Scope
21077/* 42323*/ OPC_CheckPredicate, 19, // Predicate_store
21078/* 42325*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
21079/* 42327*/ OPC_EmitMergeInputChains1_0,
21080/* 42328*/ OPC_EmitInteger, MVT::i32, 0,
21081/* 42331*/ OPC_EmitInteger, MVT::i32, 0,
21082/* 42334*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21083 4/*#Ops*/, 3, 4, 2, 1,
21084 // Src: (st v4i32:{ *:[v4i32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
21085 // Dst: (STORE_V128_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
21086/* 42343*/ /*Scope*/ 68, /*->42412*/
21087/* 42344*/ OPC_CheckPredicate, 20, // Predicate_truncstore
21088/* 42346*/ OPC_CheckPredicate, 22, // Predicate_truncstorevi16
21089/* 42348*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
21090/* 42350*/ OPC_EmitMergeInputChains1_0,
21091/* 42351*/ OPC_EmitInteger, MVT::i32, 0,
21092/* 42354*/ OPC_EmitInteger, MVT::i32, 0,
21093/* 42357*/ OPC_EmitInteger, MVT::i32, 127|128,127|128,3/*65535*/,
21094/* 42362*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21095 MVT::i32, 1/*#Ops*/, 5, // Results = #6
21096/* 42369*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
21097 MVT::v16i8, 1/*#Ops*/, 6, // Results = #7
21098/* 42376*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
21099 MVT::v16i8, 2/*#Ops*/, 7, 1, // Results = #8
21100/* 42384*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I16x8), 0,
21101 MVT::v16i8, 2/*#Ops*/, 8, 1, // Results = #9
21102/* 42392*/ OPC_EmitInteger, MVT::i32, 0,
21103/* 42395*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
21104 MVT::i64, 2/*#Ops*/, 9, 10, // Results = #11
21105/* 42403*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
21106 4/*#Ops*/, 3, 4, 2, 11,
21107 // Src: (st v4i32:{ *:[v4i32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi16>> - Complexity = 4
21108 // Dst: (STORE_I64_A32 0:{ *:[i32] }, 0:{ *:[i32] }, ?:{ *:[i32] }:$addr, (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I16x8:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 65535:{ *:[i32] })), ?:{ *:[v4i32] }:$val), ?:{ *:[v4i32] }:$val), 0:{ *:[i32] }))
21109/* 42412*/ 0, /*End of Scope*/
21110/* 42413*/ /*Scope*/ 96, /*->42510*/
21111/* 42414*/ OPC_CheckChild2Type, MVT::i64,
21112/* 42416*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21113/* 42418*/ OPC_Scope, 20, /*->42440*/ // 2 children in Scope
21114/* 42420*/ OPC_CheckPredicate, 19, // Predicate_store
21115/* 42422*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
21116/* 42424*/ OPC_EmitMergeInputChains1_0,
21117/* 42425*/ OPC_EmitInteger, MVT::i32, 0,
21118/* 42428*/ OPC_EmitInteger, MVT::i64, 0,
21119/* 42431*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21120 4/*#Ops*/, 3, 4, 2, 1,
21121 // Src: (st v4i32:{ *:[v4i32] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
21122 // Dst: (STORE_V128_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, v4i32:{ *:[v4i32] }:$val)
21123/* 42440*/ /*Scope*/ 68, /*->42509*/
21124/* 42441*/ OPC_CheckPredicate, 20, // Predicate_truncstore
21125/* 42443*/ OPC_CheckPredicate, 22, // Predicate_truncstorevi16
21126/* 42445*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
21127/* 42447*/ OPC_EmitMergeInputChains1_0,
21128/* 42448*/ OPC_EmitInteger, MVT::i32, 0,
21129/* 42451*/ OPC_EmitInteger, MVT::i64, 0,
21130/* 42454*/ OPC_EmitInteger, MVT::i32, 127|128,127|128,3/*65535*/,
21131/* 42459*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21132 MVT::i32, 1/*#Ops*/, 5, // Results = #6
21133/* 42466*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
21134 MVT::v16i8, 1/*#Ops*/, 6, // Results = #7
21135/* 42473*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::AND), 0,
21136 MVT::v16i8, 2/*#Ops*/, 7, 1, // Results = #8
21137/* 42481*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::NARROW_U_I16x8), 0,
21138 MVT::v16i8, 2/*#Ops*/, 8, 1, // Results = #9
21139/* 42489*/ OPC_EmitInteger, MVT::i32, 0,
21140/* 42492*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
21141 MVT::i64, 2/*#Ops*/, 9, 10, // Results = #11
21142/* 42500*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
21143 4/*#Ops*/, 3, 4, 2, 11,
21144 // Src: (st v4i32:{ *:[v4i32] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi16>> - Complexity = 4
21145 // Dst: (STORE_I64_A64 0:{ *:[i32] }, 0:{ *:[i64] }, ?:{ *:[i64] }:$addr, (EXTRACT_LANE_I64x2:{ *:[i64] } (NARROW_U_I16x8:{ *:[v16i8] } (AND:{ *:[v16i8] } (SPLAT_I32x4:{ *:[v16i8] } (CONST_I32:{ *:[i32] } 65535:{ *:[i32] })), ?:{ *:[v4i32] }:$val), ?:{ *:[v4i32] }:$val), 0:{ *:[i32] }))
21146/* 42509*/ 0, /*End of Scope*/
21147/* 42510*/ 0, /*End of Scope*/
21148/* 42511*/ 0, /*End of Scope*/
21149/* 42512*/ /*Scope*/ 67|128,2/*323*/, /*->42837*/
21150/* 42514*/ OPC_CheckChild1Type, MVT::v2i64,
21151/* 42516*/ OPC_Scope, 67|128,1/*195*/, /*->42714*/ // 2 children in Scope
21152/* 42519*/ OPC_MoveChild2,
21153/* 42520*/ OPC_SwitchOpcode /*3 cases */, 59, TARGET_VAL(ISD::ADD),// ->42583
21154/* 42524*/ OPC_RecordChild0, // #2 = $addr
21155/* 42525*/ OPC_RecordChild1, // #3 = $off
21156/* 42526*/ OPC_MoveChild1,
21157/* 42527*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21158/* 42530*/ OPC_MoveParent,
21159/* 42531*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
21160/* 42533*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->42558
21161/* 42536*/ OPC_MoveParent,
21162/* 42537*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21163/* 42539*/ OPC_CheckPredicate, 19, // Predicate_store
21164/* 42541*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
21165/* 42543*/ OPC_EmitMergeInputChains1_0,
21166/* 42544*/ OPC_EmitInteger, MVT::i32, 0,
21167/* 42547*/ OPC_EmitConvertToTarget, 3,
21168/* 42549*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21169 4/*#Ops*/, 4, 5, 2, 1,
21170 // Src: (st v2i64:{ *:[v2i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21171 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
21172/* 42558*/ /*SwitchType*/ 22, MVT::i64,// ->42582
21173/* 42560*/ OPC_MoveParent,
21174/* 42561*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21175/* 42563*/ OPC_CheckPredicate, 19, // Predicate_store
21176/* 42565*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
21177/* 42567*/ OPC_EmitMergeInputChains1_0,
21178/* 42568*/ OPC_EmitInteger, MVT::i32, 0,
21179/* 42571*/ OPC_EmitConvertToTarget, 3,
21180/* 42573*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21181 4/*#Ops*/, 4, 5, 2, 1,
21182 // Src: (st v2i64:{ *:[v2i64] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21183 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, v2i64:{ *:[v2i64] }:$val)
21184/* 42582*/ 0, // EndSwitchType
21185/* 42583*/ /*SwitchOpcode*/ 59, TARGET_VAL(ISD::OR),// ->42645
21186/* 42586*/ OPC_RecordChild0, // #2 = $addr
21187/* 42587*/ OPC_RecordChild1, // #3 = $off
21188/* 42588*/ OPC_MoveChild1,
21189/* 42589*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21190/* 42592*/ OPC_MoveParent,
21191/* 42593*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
21192/* 42595*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->42620
21193/* 42598*/ OPC_MoveParent,
21194/* 42599*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21195/* 42601*/ OPC_CheckPredicate, 19, // Predicate_store
21196/* 42603*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
21197/* 42605*/ OPC_EmitMergeInputChains1_0,
21198/* 42606*/ OPC_EmitInteger, MVT::i32, 0,
21199/* 42609*/ OPC_EmitConvertToTarget, 3,
21200/* 42611*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21201 4/*#Ops*/, 4, 5, 2, 1,
21202 // Src: (st v2i64:{ *:[v2i64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21203 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
21204/* 42620*/ /*SwitchType*/ 22, MVT::i64,// ->42644
21205/* 42622*/ OPC_MoveParent,
21206/* 42623*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21207/* 42625*/ OPC_CheckPredicate, 19, // Predicate_store
21208/* 42627*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
21209/* 42629*/ OPC_EmitMergeInputChains1_0,
21210/* 42630*/ OPC_EmitInteger, MVT::i32, 0,
21211/* 42633*/ OPC_EmitConvertToTarget, 3,
21212/* 42635*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21213 4/*#Ops*/, 4, 5, 2, 1,
21214 // Src: (st v2i64:{ *:[v2i64] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21215 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, v2i64:{ *:[v2i64] }:$val)
21216/* 42644*/ 0, // EndSwitchType
21217/* 42645*/ /*SwitchOpcode*/ 65, TARGET_VAL(WebAssemblyISD::Wrapper),// ->42713
21218/* 42648*/ OPC_RecordChild0, // #2 = $off
21219/* 42649*/ OPC_MoveChild0,
21220/* 42650*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
21221/* 42653*/ OPC_MoveParent,
21222/* 42654*/ OPC_MoveParent,
21223/* 42655*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21224/* 42657*/ OPC_CheckPredicate, 19, // Predicate_store
21225/* 42659*/ OPC_Scope, 25, /*->42686*/ // 2 children in Scope
21226/* 42661*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
21227/* 42663*/ OPC_EmitMergeInputChains1_0,
21228/* 42664*/ OPC_EmitInteger, MVT::i32, 0,
21229/* 42667*/ OPC_EmitInteger, MVT::i32, 0,
21230/* 42670*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21231 MVT::i32, 1/*#Ops*/, 4, // Results = #5
21232/* 42677*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21233 4/*#Ops*/, 3, 2, 5, 1,
21234 // Src: (st v2i64:{ *:[v2i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
21235 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v2i64:{ *:[v2i64] }:$val)
21236/* 42686*/ /*Scope*/ 25, /*->42712*/
21237/* 42687*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
21238/* 42689*/ OPC_EmitMergeInputChains1_0,
21239/* 42690*/ OPC_EmitInteger, MVT::i32, 0,
21240/* 42693*/ OPC_EmitInteger, MVT::i64, 0,
21241/* 42696*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
21242 MVT::i64, 1/*#Ops*/, 4, // Results = #5
21243/* 42703*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21244 4/*#Ops*/, 3, 2, 5, 1,
21245 // Src: (st v2i64:{ *:[v2i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
21246 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), v2i64:{ *:[v2i64] }:$val)
21247/* 42712*/ 0, /*End of Scope*/
21248/* 42713*/ 0, // EndSwitchOpcode
21249/* 42714*/ /*Scope*/ 121, /*->42836*/
21250/* 42715*/ OPC_RecordChild2, // #2 = $off
21251/* 42716*/ OPC_Scope, 67, /*->42785*/ // 3 children in Scope
21252/* 42718*/ OPC_MoveChild2,
21253/* 42719*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21254/* 42722*/ OPC_MoveParent,
21255/* 42723*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21256/* 42725*/ OPC_CheckPredicate, 19, // Predicate_store
21257/* 42727*/ OPC_Scope, 27, /*->42756*/ // 2 children in Scope
21258/* 42729*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
21259/* 42731*/ OPC_EmitMergeInputChains1_0,
21260/* 42732*/ OPC_EmitInteger, MVT::i32, 0,
21261/* 42735*/ OPC_EmitConvertToTarget, 2,
21262/* 42737*/ OPC_EmitInteger, MVT::i32, 0,
21263/* 42740*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21264 MVT::i32, 1/*#Ops*/, 5, // Results = #6
21265/* 42747*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21266 4/*#Ops*/, 3, 4, 6, 1,
21267 // Src: (st v2i64:{ *:[v2i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
21268 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v2i64:{ *:[v2i64] }:$val)
21269/* 42756*/ /*Scope*/ 27, /*->42784*/
21270/* 42757*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
21271/* 42759*/ OPC_EmitMergeInputChains1_0,
21272/* 42760*/ OPC_EmitInteger, MVT::i32, 0,
21273/* 42763*/ OPC_EmitConvertToTarget, 2,
21274/* 42765*/ OPC_EmitInteger, MVT::i64, 0,
21275/* 42768*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
21276 MVT::i64, 1/*#Ops*/, 5, // Results = #6
21277/* 42775*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21278 4/*#Ops*/, 3, 4, 6, 1,
21279 // Src: (st v2i64:{ *:[v2i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
21280 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), v2i64:{ *:[v2i64] }:$val)
21281/* 42784*/ 0, /*End of Scope*/
21282/* 42785*/ /*Scope*/ 24, /*->42810*/
21283/* 42786*/ OPC_CheckChild2Type, MVT::i32,
21284/* 42788*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21285/* 42790*/ OPC_CheckPredicate, 19, // Predicate_store
21286/* 42792*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
21287/* 42794*/ OPC_EmitMergeInputChains1_0,
21288/* 42795*/ OPC_EmitInteger, MVT::i32, 0,
21289/* 42798*/ OPC_EmitInteger, MVT::i32, 0,
21290/* 42801*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21291 4/*#Ops*/, 3, 4, 2, 1,
21292 // Src: (st v2i64:{ *:[v2i64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
21293 // Dst: (STORE_V128_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
21294/* 42810*/ /*Scope*/ 24, /*->42835*/
21295/* 42811*/ OPC_CheckChild2Type, MVT::i64,
21296/* 42813*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21297/* 42815*/ OPC_CheckPredicate, 19, // Predicate_store
21298/* 42817*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
21299/* 42819*/ OPC_EmitMergeInputChains1_0,
21300/* 42820*/ OPC_EmitInteger, MVT::i32, 0,
21301/* 42823*/ OPC_EmitInteger, MVT::i64, 0,
21302/* 42826*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21303 4/*#Ops*/, 3, 4, 2, 1,
21304 // Src: (st v2i64:{ *:[v2i64] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
21305 // Dst: (STORE_V128_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, v2i64:{ *:[v2i64] }:$val)
21306/* 42835*/ 0, /*End of Scope*/
21307/* 42836*/ 0, /*End of Scope*/
21308/* 42837*/ /*Scope*/ 67|128,2/*323*/, /*->43162*/
21309/* 42839*/ OPC_CheckChild1Type, MVT::v4f32,
21310/* 42841*/ OPC_Scope, 67|128,1/*195*/, /*->43039*/ // 2 children in Scope
21311/* 42844*/ OPC_MoveChild2,
21312/* 42845*/ OPC_SwitchOpcode /*3 cases */, 59, TARGET_VAL(ISD::ADD),// ->42908
21313/* 42849*/ OPC_RecordChild0, // #2 = $addr
21314/* 42850*/ OPC_RecordChild1, // #3 = $off
21315/* 42851*/ OPC_MoveChild1,
21316/* 42852*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21317/* 42855*/ OPC_MoveParent,
21318/* 42856*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
21319/* 42858*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->42883
21320/* 42861*/ OPC_MoveParent,
21321/* 42862*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21322/* 42864*/ OPC_CheckPredicate, 19, // Predicate_store
21323/* 42866*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
21324/* 42868*/ OPC_EmitMergeInputChains1_0,
21325/* 42869*/ OPC_EmitInteger, MVT::i32, 0,
21326/* 42872*/ OPC_EmitConvertToTarget, 3,
21327/* 42874*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21328 4/*#Ops*/, 4, 5, 2, 1,
21329 // Src: (st v4f32:{ *:[v4f32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21330 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
21331/* 42883*/ /*SwitchType*/ 22, MVT::i64,// ->42907
21332/* 42885*/ OPC_MoveParent,
21333/* 42886*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21334/* 42888*/ OPC_CheckPredicate, 19, // Predicate_store
21335/* 42890*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
21336/* 42892*/ OPC_EmitMergeInputChains1_0,
21337/* 42893*/ OPC_EmitInteger, MVT::i32, 0,
21338/* 42896*/ OPC_EmitConvertToTarget, 3,
21339/* 42898*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21340 4/*#Ops*/, 4, 5, 2, 1,
21341 // Src: (st v4f32:{ *:[v4f32] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21342 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, v4f32:{ *:[v4f32] }:$val)
21343/* 42907*/ 0, // EndSwitchType
21344/* 42908*/ /*SwitchOpcode*/ 59, TARGET_VAL(ISD::OR),// ->42970
21345/* 42911*/ OPC_RecordChild0, // #2 = $addr
21346/* 42912*/ OPC_RecordChild1, // #3 = $off
21347/* 42913*/ OPC_MoveChild1,
21348/* 42914*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21349/* 42917*/ OPC_MoveParent,
21350/* 42918*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
21351/* 42920*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->42945
21352/* 42923*/ OPC_MoveParent,
21353/* 42924*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21354/* 42926*/ OPC_CheckPredicate, 19, // Predicate_store
21355/* 42928*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
21356/* 42930*/ OPC_EmitMergeInputChains1_0,
21357/* 42931*/ OPC_EmitInteger, MVT::i32, 0,
21358/* 42934*/ OPC_EmitConvertToTarget, 3,
21359/* 42936*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21360 4/*#Ops*/, 4, 5, 2, 1,
21361 // Src: (st v4f32:{ *:[v4f32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21362 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
21363/* 42945*/ /*SwitchType*/ 22, MVT::i64,// ->42969
21364/* 42947*/ OPC_MoveParent,
21365/* 42948*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21366/* 42950*/ OPC_CheckPredicate, 19, // Predicate_store
21367/* 42952*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
21368/* 42954*/ OPC_EmitMergeInputChains1_0,
21369/* 42955*/ OPC_EmitInteger, MVT::i32, 0,
21370/* 42958*/ OPC_EmitConvertToTarget, 3,
21371/* 42960*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21372 4/*#Ops*/, 4, 5, 2, 1,
21373 // Src: (st v4f32:{ *:[v4f32] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21374 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, v4f32:{ *:[v4f32] }:$val)
21375/* 42969*/ 0, // EndSwitchType
21376/* 42970*/ /*SwitchOpcode*/ 65, TARGET_VAL(WebAssemblyISD::Wrapper),// ->43038
21377/* 42973*/ OPC_RecordChild0, // #2 = $off
21378/* 42974*/ OPC_MoveChild0,
21379/* 42975*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
21380/* 42978*/ OPC_MoveParent,
21381/* 42979*/ OPC_MoveParent,
21382/* 42980*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21383/* 42982*/ OPC_CheckPredicate, 19, // Predicate_store
21384/* 42984*/ OPC_Scope, 25, /*->43011*/ // 2 children in Scope
21385/* 42986*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
21386/* 42988*/ OPC_EmitMergeInputChains1_0,
21387/* 42989*/ OPC_EmitInteger, MVT::i32, 0,
21388/* 42992*/ OPC_EmitInteger, MVT::i32, 0,
21389/* 42995*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21390 MVT::i32, 1/*#Ops*/, 4, // Results = #5
21391/* 43002*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21392 4/*#Ops*/, 3, 2, 5, 1,
21393 // Src: (st v4f32:{ *:[v4f32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
21394 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v4f32:{ *:[v4f32] }:$val)
21395/* 43011*/ /*Scope*/ 25, /*->43037*/
21396/* 43012*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
21397/* 43014*/ OPC_EmitMergeInputChains1_0,
21398/* 43015*/ OPC_EmitInteger, MVT::i32, 0,
21399/* 43018*/ OPC_EmitInteger, MVT::i64, 0,
21400/* 43021*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
21401 MVT::i64, 1/*#Ops*/, 4, // Results = #5
21402/* 43028*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21403 4/*#Ops*/, 3, 2, 5, 1,
21404 // Src: (st v4f32:{ *:[v4f32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
21405 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), v4f32:{ *:[v4f32] }:$val)
21406/* 43037*/ 0, /*End of Scope*/
21407/* 43038*/ 0, // EndSwitchOpcode
21408/* 43039*/ /*Scope*/ 121, /*->43161*/
21409/* 43040*/ OPC_RecordChild2, // #2 = $off
21410/* 43041*/ OPC_Scope, 67, /*->43110*/ // 3 children in Scope
21411/* 43043*/ OPC_MoveChild2,
21412/* 43044*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21413/* 43047*/ OPC_MoveParent,
21414/* 43048*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21415/* 43050*/ OPC_CheckPredicate, 19, // Predicate_store
21416/* 43052*/ OPC_Scope, 27, /*->43081*/ // 2 children in Scope
21417/* 43054*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
21418/* 43056*/ OPC_EmitMergeInputChains1_0,
21419/* 43057*/ OPC_EmitInteger, MVT::i32, 0,
21420/* 43060*/ OPC_EmitConvertToTarget, 2,
21421/* 43062*/ OPC_EmitInteger, MVT::i32, 0,
21422/* 43065*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21423 MVT::i32, 1/*#Ops*/, 5, // Results = #6
21424/* 43072*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21425 4/*#Ops*/, 3, 4, 6, 1,
21426 // Src: (st v4f32:{ *:[v4f32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
21427 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v4f32:{ *:[v4f32] }:$val)
21428/* 43081*/ /*Scope*/ 27, /*->43109*/
21429/* 43082*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
21430/* 43084*/ OPC_EmitMergeInputChains1_0,
21431/* 43085*/ OPC_EmitInteger, MVT::i32, 0,
21432/* 43088*/ OPC_EmitConvertToTarget, 2,
21433/* 43090*/ OPC_EmitInteger, MVT::i64, 0,
21434/* 43093*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
21435 MVT::i64, 1/*#Ops*/, 5, // Results = #6
21436/* 43100*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21437 4/*#Ops*/, 3, 4, 6, 1,
21438 // Src: (st v4f32:{ *:[v4f32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
21439 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), v4f32:{ *:[v4f32] }:$val)
21440/* 43109*/ 0, /*End of Scope*/
21441/* 43110*/ /*Scope*/ 24, /*->43135*/
21442/* 43111*/ OPC_CheckChild2Type, MVT::i32,
21443/* 43113*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21444/* 43115*/ OPC_CheckPredicate, 19, // Predicate_store
21445/* 43117*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
21446/* 43119*/ OPC_EmitMergeInputChains1_0,
21447/* 43120*/ OPC_EmitInteger, MVT::i32, 0,
21448/* 43123*/ OPC_EmitInteger, MVT::i32, 0,
21449/* 43126*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21450 4/*#Ops*/, 3, 4, 2, 1,
21451 // Src: (st v4f32:{ *:[v4f32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
21452 // Dst: (STORE_V128_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
21453/* 43135*/ /*Scope*/ 24, /*->43160*/
21454/* 43136*/ OPC_CheckChild2Type, MVT::i64,
21455/* 43138*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21456/* 43140*/ OPC_CheckPredicate, 19, // Predicate_store
21457/* 43142*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
21458/* 43144*/ OPC_EmitMergeInputChains1_0,
21459/* 43145*/ OPC_EmitInteger, MVT::i32, 0,
21460/* 43148*/ OPC_EmitInteger, MVT::i64, 0,
21461/* 43151*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21462 4/*#Ops*/, 3, 4, 2, 1,
21463 // Src: (st v4f32:{ *:[v4f32] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
21464 // Dst: (STORE_V128_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, v4f32:{ *:[v4f32] }:$val)
21465/* 43160*/ 0, /*End of Scope*/
21466/* 43161*/ 0, /*End of Scope*/
21467/* 43162*/ /*Scope*/ 67|128,2/*323*/, /*->43487*/
21468/* 43164*/ OPC_CheckChild1Type, MVT::v2f64,
21469/* 43166*/ OPC_Scope, 67|128,1/*195*/, /*->43364*/ // 2 children in Scope
21470/* 43169*/ OPC_MoveChild2,
21471/* 43170*/ OPC_SwitchOpcode /*3 cases */, 59, TARGET_VAL(ISD::ADD),// ->43233
21472/* 43174*/ OPC_RecordChild0, // #2 = $addr
21473/* 43175*/ OPC_RecordChild1, // #3 = $off
21474/* 43176*/ OPC_MoveChild1,
21475/* 43177*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21476/* 43180*/ OPC_MoveParent,
21477/* 43181*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
21478/* 43183*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->43208
21479/* 43186*/ OPC_MoveParent,
21480/* 43187*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21481/* 43189*/ OPC_CheckPredicate, 19, // Predicate_store
21482/* 43191*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
21483/* 43193*/ OPC_EmitMergeInputChains1_0,
21484/* 43194*/ OPC_EmitInteger, MVT::i32, 0,
21485/* 43197*/ OPC_EmitConvertToTarget, 3,
21486/* 43199*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21487 4/*#Ops*/, 4, 5, 2, 1,
21488 // Src: (st v2f64:{ *:[v2f64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21489 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
21490/* 43208*/ /*SwitchType*/ 22, MVT::i64,// ->43232
21491/* 43210*/ OPC_MoveParent,
21492/* 43211*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21493/* 43213*/ OPC_CheckPredicate, 19, // Predicate_store
21494/* 43215*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
21495/* 43217*/ OPC_EmitMergeInputChains1_0,
21496/* 43218*/ OPC_EmitInteger, MVT::i32, 0,
21497/* 43221*/ OPC_EmitConvertToTarget, 3,
21498/* 43223*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21499 4/*#Ops*/, 4, 5, 2, 1,
21500 // Src: (st v2f64:{ *:[v2f64] }:$val, (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21501 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, v2f64:{ *:[v2f64] }:$val)
21502/* 43232*/ 0, // EndSwitchType
21503/* 43233*/ /*SwitchOpcode*/ 59, TARGET_VAL(ISD::OR),// ->43295
21504/* 43236*/ OPC_RecordChild0, // #2 = $addr
21505/* 43237*/ OPC_RecordChild1, // #3 = $off
21506/* 43238*/ OPC_MoveChild1,
21507/* 43239*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21508/* 43242*/ OPC_MoveParent,
21509/* 43243*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
21510/* 43245*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->43270
21511/* 43248*/ OPC_MoveParent,
21512/* 43249*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21513/* 43251*/ OPC_CheckPredicate, 19, // Predicate_store
21514/* 43253*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
21515/* 43255*/ OPC_EmitMergeInputChains1_0,
21516/* 43256*/ OPC_EmitInteger, MVT::i32, 0,
21517/* 43259*/ OPC_EmitConvertToTarget, 3,
21518/* 43261*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21519 4/*#Ops*/, 4, 5, 2, 1,
21520 // Src: (st v2f64:{ *:[v2f64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21521 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
21522/* 43270*/ /*SwitchType*/ 22, MVT::i64,// ->43294
21523/* 43272*/ OPC_MoveParent,
21524/* 43273*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21525/* 43275*/ OPC_CheckPredicate, 19, // Predicate_store
21526/* 43277*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
21527/* 43279*/ OPC_EmitMergeInputChains1_0,
21528/* 43280*/ OPC_EmitInteger, MVT::i32, 0,
21529/* 43283*/ OPC_EmitConvertToTarget, 3,
21530/* 43285*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21531 4/*#Ops*/, 4, 5, 2, 1,
21532 // Src: (st v2f64:{ *:[v2f64] }:$val, (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21533 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, v2f64:{ *:[v2f64] }:$val)
21534/* 43294*/ 0, // EndSwitchType
21535/* 43295*/ /*SwitchOpcode*/ 65, TARGET_VAL(WebAssemblyISD::Wrapper),// ->43363
21536/* 43298*/ OPC_RecordChild0, // #2 = $off
21537/* 43299*/ OPC_MoveChild0,
21538/* 43300*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
21539/* 43303*/ OPC_MoveParent,
21540/* 43304*/ OPC_MoveParent,
21541/* 43305*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21542/* 43307*/ OPC_CheckPredicate, 19, // Predicate_store
21543/* 43309*/ OPC_Scope, 25, /*->43336*/ // 2 children in Scope
21544/* 43311*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
21545/* 43313*/ OPC_EmitMergeInputChains1_0,
21546/* 43314*/ OPC_EmitInteger, MVT::i32, 0,
21547/* 43317*/ OPC_EmitInteger, MVT::i32, 0,
21548/* 43320*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21549 MVT::i32, 1/*#Ops*/, 4, // Results = #5
21550/* 43327*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21551 4/*#Ops*/, 3, 2, 5, 1,
21552 // Src: (st v2f64:{ *:[v2f64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
21553 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v2f64:{ *:[v2f64] }:$val)
21554/* 43336*/ /*Scope*/ 25, /*->43362*/
21555/* 43337*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
21556/* 43339*/ OPC_EmitMergeInputChains1_0,
21557/* 43340*/ OPC_EmitInteger, MVT::i32, 0,
21558/* 43343*/ OPC_EmitInteger, MVT::i64, 0,
21559/* 43346*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
21560 MVT::i64, 1/*#Ops*/, 4, // Results = #5
21561/* 43353*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21562 4/*#Ops*/, 3, 2, 5, 1,
21563 // Src: (st v2f64:{ *:[v2f64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
21564 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), v2f64:{ *:[v2f64] }:$val)
21565/* 43362*/ 0, /*End of Scope*/
21566/* 43363*/ 0, // EndSwitchOpcode
21567/* 43364*/ /*Scope*/ 121, /*->43486*/
21568/* 43365*/ OPC_RecordChild2, // #2 = $off
21569/* 43366*/ OPC_Scope, 67, /*->43435*/ // 3 children in Scope
21570/* 43368*/ OPC_MoveChild2,
21571/* 43369*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21572/* 43372*/ OPC_MoveParent,
21573/* 43373*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21574/* 43375*/ OPC_CheckPredicate, 19, // Predicate_store
21575/* 43377*/ OPC_Scope, 27, /*->43406*/ // 2 children in Scope
21576/* 43379*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
21577/* 43381*/ OPC_EmitMergeInputChains1_0,
21578/* 43382*/ OPC_EmitInteger, MVT::i32, 0,
21579/* 43385*/ OPC_EmitConvertToTarget, 2,
21580/* 43387*/ OPC_EmitInteger, MVT::i32, 0,
21581/* 43390*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21582 MVT::i32, 1/*#Ops*/, 5, // Results = #6
21583/* 43397*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21584 4/*#Ops*/, 3, 4, 6, 1,
21585 // Src: (st v2f64:{ *:[v2f64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
21586 // Dst: (STORE_V128_A32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v2f64:{ *:[v2f64] }:$val)
21587/* 43406*/ /*Scope*/ 27, /*->43434*/
21588/* 43407*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
21589/* 43409*/ OPC_EmitMergeInputChains1_0,
21590/* 43410*/ OPC_EmitInteger, MVT::i32, 0,
21591/* 43413*/ OPC_EmitConvertToTarget, 2,
21592/* 43415*/ OPC_EmitInteger, MVT::i64, 0,
21593/* 43418*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
21594 MVT::i64, 1/*#Ops*/, 5, // Results = #6
21595/* 43425*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21596 4/*#Ops*/, 3, 4, 6, 1,
21597 // Src: (st v2f64:{ *:[v2f64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
21598 // Dst: (STORE_V128_A64 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), v2f64:{ *:[v2f64] }:$val)
21599/* 43434*/ 0, /*End of Scope*/
21600/* 43435*/ /*Scope*/ 24, /*->43460*/
21601/* 43436*/ OPC_CheckChild2Type, MVT::i32,
21602/* 43438*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21603/* 43440*/ OPC_CheckPredicate, 19, // Predicate_store
21604/* 43442*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
21605/* 43444*/ OPC_EmitMergeInputChains1_0,
21606/* 43445*/ OPC_EmitInteger, MVT::i32, 0,
21607/* 43448*/ OPC_EmitInteger, MVT::i32, 0,
21608/* 43451*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
21609 4/*#Ops*/, 3, 4, 2, 1,
21610 // Src: (st v2f64:{ *:[v2f64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
21611 // Dst: (STORE_V128_A32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
21612/* 43460*/ /*Scope*/ 24, /*->43485*/
21613/* 43461*/ OPC_CheckChild2Type, MVT::i64,
21614/* 43463*/ OPC_CheckPredicate, 18, // Predicate_unindexedstore
21615/* 43465*/ OPC_CheckPredicate, 19, // Predicate_store
21616/* 43467*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
21617/* 43469*/ OPC_EmitMergeInputChains1_0,
21618/* 43470*/ OPC_EmitInteger, MVT::i32, 0,
21619/* 43473*/ OPC_EmitInteger, MVT::i64, 0,
21620/* 43476*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
21621 4/*#Ops*/, 3, 4, 2, 1,
21622 // Src: (st v2f64:{ *:[v2f64] }:$val, I64:{ *:[i64] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
21623 // Dst: (STORE_V128_A64 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, v2f64:{ *:[v2f64] }:$val)
21624/* 43485*/ 0, /*End of Scope*/
21625/* 43486*/ 0, /*End of Scope*/
21626/* 43487*/ 0, /*End of Scope*/
21627/* 43488*/ /*SwitchOpcode*/ 71, TARGET_VAL(ISD::BRCOND),// ->43562
21628/* 43491*/ OPC_RecordNode, // #0 = 'brcond' chained node
21629/* 43492*/ OPC_Scope, 49, /*->43543*/ // 2 children in Scope
21630/* 43494*/ OPC_MoveChild1,
21631/* 43495*/ OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
21632/* 43498*/ OPC_RecordChild0, // #1 = $cond
21633/* 43499*/ OPC_CheckChild0Type, MVT::i32,
21634/* 43501*/ OPC_CheckChild1Integer, 0,
21635/* 43503*/ OPC_CheckType, MVT::i32,
21636/* 43505*/ OPC_Scope, 17, /*->43524*/ // 2 children in Scope
21637/* 43507*/ OPC_CheckChild2CondCode, ISD::SETNE,
21638/* 43509*/ OPC_MoveParent,
21639/* 43510*/ OPC_RecordChild2, // #2 = $dst
21640/* 43511*/ OPC_MoveChild2,
21641/* 43512*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
21642/* 43515*/ OPC_MoveParent,
21643/* 43516*/ OPC_EmitMergeInputChains1_0,
21644/* 43517*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_IF), 0|OPFL_Chain,
21645 2/*#Ops*/, 2, 1,
21646 // Src: (brcond (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) - Complexity = 11
21647 // Dst: (BR_IF bb_op:{ *:[Other] }:$dst, I32:{ *:[i32] }:$cond)
21648/* 43524*/ /*Scope*/ 17, /*->43542*/
21649/* 43525*/ OPC_CheckChild2CondCode, ISD::SETEQ,
21650/* 43527*/ OPC_MoveParent,
21651/* 43528*/ OPC_RecordChild2, // #2 = $dst
21652/* 43529*/ OPC_MoveChild2,
21653/* 43530*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
21654/* 43533*/ OPC_MoveParent,
21655/* 43534*/ OPC_EmitMergeInputChains1_0,
21656/* 43535*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_UNLESS), 0|OPFL_Chain,
21657 2/*#Ops*/, 2, 1,
21658 // Src: (brcond (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$dst) - Complexity = 11
21659 // Dst: (BR_UNLESS bb_op:{ *:[Other] }:$dst, I32:{ *:[i32] }:$cond)
21660/* 43542*/ 0, /*End of Scope*/
21661/* 43543*/ /*Scope*/ 17, /*->43561*/
21662/* 43544*/ OPC_RecordChild1, // #1 = $cond
21663/* 43545*/ OPC_CheckChild1Type, MVT::i32,
21664/* 43547*/ OPC_RecordChild2, // #2 = $dst
21665/* 43548*/ OPC_MoveChild2,
21666/* 43549*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
21667/* 43552*/ OPC_MoveParent,
21668/* 43553*/ OPC_EmitMergeInputChains1_0,
21669/* 43554*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_IF), 0|OPFL_Chain,
21670 2/*#Ops*/, 2, 1,
21671 // Src: (brcond I32:{ *:[i32] }:$cond, (bb:{ *:[Other] }):$dst) - Complexity = 3
21672 // Dst: (BR_IF (bb:{ *:[Other] }):$dst, I32:{ *:[i32] }:$cond)
21673/* 43561*/ 0, /*End of Scope*/
21674/* 43562*/ /*SwitchOpcode*/ 67, TARGET_VAL(ISD::ROTL),// ->43632
21675/* 43565*/ OPC_RecordChild0, // #0 = $lhs
21676/* 43566*/ OPC_Scope, 35, /*->43603*/ // 2 children in Scope
21677/* 43568*/ OPC_MoveChild1,
21678/* 43569*/ OPC_SwitchType /*2 cases */, 14, MVT::i32,// ->43586
21679/* 43572*/ OPC_CheckAndImm, 31,
21680/* 43574*/ OPC_RecordChild0, // #1 = $rhs
21681/* 43575*/ OPC_MoveParent,
21682/* 43576*/ OPC_CheckType, MVT::i32,
21683/* 43578*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTL_I32), 0,
21684 MVT::i32, 2/*#Ops*/, 0, 1,
21685 // Src: (rotl:{ *:[i32] } I32:{ *:[i32] }:$lhs, (and:{ *:[i32] } I32:{ *:[i32] }:$rhs, 31:{ *:[i32] })) - Complexity = 11
21686 // Dst: (ROTL_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
21687/* 43586*/ /*SwitchType*/ 14, MVT::i64,// ->43602
21688/* 43588*/ OPC_CheckAndImm, 63,
21689/* 43590*/ OPC_RecordChild0, // #1 = $rhs
21690/* 43591*/ OPC_MoveParent,
21691/* 43592*/ OPC_CheckType, MVT::i64,
21692/* 43594*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTL_I64), 0,
21693 MVT::i64, 2/*#Ops*/, 0, 1,
21694 // Src: (rotl:{ *:[i64] } I64:{ *:[i64] }:$lhs, (and:{ *:[i64] } I64:{ *:[i64] }:$rhs, 63:{ *:[i64] })) - Complexity = 11
21695 // Dst: (ROTL_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
21696/* 43602*/ 0, // EndSwitchType
21697/* 43603*/ /*Scope*/ 27, /*->43631*/
21698/* 43604*/ OPC_RecordChild1, // #1 = $rhs
21699/* 43605*/ OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->43618
21700/* 43608*/ OPC_CheckChild1Type, MVT::i32,
21701/* 43610*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTL_I32), 0,
21702 MVT::i32, 2/*#Ops*/, 0, 1,
21703 // Src: (rotl:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
21704 // Dst: (ROTL_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
21705/* 43618*/ /*SwitchType*/ 10, MVT::i64,// ->43630
21706/* 43620*/ OPC_CheckChild1Type, MVT::i64,
21707/* 43622*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTL_I64), 0,
21708 MVT::i64, 2/*#Ops*/, 0, 1,
21709 // Src: (rotl:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
21710 // Dst: (ROTL_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
21711/* 43630*/ 0, // EndSwitchType
21712/* 43631*/ 0, /*End of Scope*/
21713/* 43632*/ /*SwitchOpcode*/ 67, TARGET_VAL(ISD::ROTR),// ->43702
21714/* 43635*/ OPC_RecordChild0, // #0 = $lhs
21715/* 43636*/ OPC_Scope, 35, /*->43673*/ // 2 children in Scope
21716/* 43638*/ OPC_MoveChild1,
21717/* 43639*/ OPC_SwitchType /*2 cases */, 14, MVT::i32,// ->43656
21718/* 43642*/ OPC_CheckAndImm, 31,
21719/* 43644*/ OPC_RecordChild0, // #1 = $rhs
21720/* 43645*/ OPC_MoveParent,
21721/* 43646*/ OPC_CheckType, MVT::i32,
21722/* 43648*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTR_I32), 0,
21723 MVT::i32, 2/*#Ops*/, 0, 1,
21724 // Src: (rotr:{ *:[i32] } I32:{ *:[i32] }:$lhs, (and:{ *:[i32] } I32:{ *:[i32] }:$rhs, 31:{ *:[i32] })) - Complexity = 11
21725 // Dst: (ROTR_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
21726/* 43656*/ /*SwitchType*/ 14, MVT::i64,// ->43672
21727/* 43658*/ OPC_CheckAndImm, 63,
21728/* 43660*/ OPC_RecordChild0, // #1 = $rhs
21729/* 43661*/ OPC_MoveParent,
21730/* 43662*/ OPC_CheckType, MVT::i64,
21731/* 43664*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTR_I64), 0,
21732 MVT::i64, 2/*#Ops*/, 0, 1,
21733 // Src: (rotr:{ *:[i64] } I64:{ *:[i64] }:$lhs, (and:{ *:[i64] } I64:{ *:[i64] }:$rhs, 63:{ *:[i64] })) - Complexity = 11
21734 // Dst: (ROTR_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
21735/* 43672*/ 0, // EndSwitchType
21736/* 43673*/ /*Scope*/ 27, /*->43701*/
21737/* 43674*/ OPC_RecordChild1, // #1 = $rhs
21738/* 43675*/ OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->43688
21739/* 43678*/ OPC_CheckChild1Type, MVT::i32,
21740/* 43680*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTR_I32), 0,
21741 MVT::i32, 2/*#Ops*/, 0, 1,
21742 // Src: (rotr:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
21743 // Dst: (ROTR_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
21744/* 43688*/ /*SwitchType*/ 10, MVT::i64,// ->43700
21745/* 43690*/ OPC_CheckChild1Type, MVT::i64,
21746/* 43692*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTR_I64), 0,
21747 MVT::i64, 2/*#Ops*/, 0, 1,
21748 // Src: (rotr:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
21749 // Dst: (ROTR_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
21750/* 43700*/ 0, // EndSwitchType
21751/* 43701*/ 0, /*End of Scope*/
21752/* 43702*/ /*SwitchOpcode*/ 108|128,4/*620*/, TARGET_VAL(ISD::SELECT),// ->44326
21753/* 43706*/ OPC_Scope, 13|128,1/*141*/, /*->43850*/ // 8 children in Scope
21754/* 43709*/ OPC_MoveChild0,
21755/* 43710*/ OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
21756/* 43713*/ OPC_RecordChild0, // #0 = $cond
21757/* 43714*/ OPC_CheckChild0Type, MVT::i32,
21758/* 43716*/ OPC_CheckChild1Integer, 0,
21759/* 43718*/ OPC_CheckType, MVT::i32,
21760/* 43720*/ OPC_Scope, 29, /*->43751*/ // 6 children in Scope
21761/* 43722*/ OPC_CheckChild2CondCode, ISD::SETNE,
21762/* 43724*/ OPC_MoveParent,
21763/* 43725*/ OPC_RecordChild1, // #1 = $lhs
21764/* 43726*/ OPC_RecordChild2, // #2 = $rhs
21765/* 43727*/ OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->43739
21766/* 43730*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I32), 0,
21767 MVT::i32, 3/*#Ops*/, 1, 2, 0,
21768 // Src: (select:{ *:[i32] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 11
21769 // Dst: (SELECT_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, I32:{ *:[i32] }:$cond)
21770/* 43739*/ /*SwitchType*/ 9, MVT::i64,// ->43750
21771/* 43741*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I64), 0,
21772 MVT::i64, 3/*#Ops*/, 1, 2, 0,
21773 // Src: (select:{ *:[i64] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 11
21774 // Dst: (SELECT_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, I32:{ *:[i32] }:$cond)
21775/* 43750*/ 0, // EndSwitchType
21776/* 43751*/ /*Scope*/ 29, /*->43781*/
21777/* 43752*/ OPC_CheckChild2CondCode, ISD::SETEQ,
21778/* 43754*/ OPC_MoveParent,
21779/* 43755*/ OPC_RecordChild1, // #1 = $lhs
21780/* 43756*/ OPC_RecordChild2, // #2 = $rhs
21781/* 43757*/ OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->43769
21782/* 43760*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I32), 0,
21783 MVT::i32, 3/*#Ops*/, 2, 1, 0,
21784 // Src: (select:{ *:[i32] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 11
21785 // Dst: (SELECT_I32:{ *:[i32] } I32:{ *:[i32] }:$rhs, I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$cond)
21786/* 43769*/ /*SwitchType*/ 9, MVT::i64,// ->43780
21787/* 43771*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I64), 0,
21788 MVT::i64, 3/*#Ops*/, 2, 1, 0,
21789 // Src: (select:{ *:[i64] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 11
21790 // Dst: (SELECT_I64:{ *:[i64] } I64:{ *:[i64] }:$rhs, I64:{ *:[i64] }:$lhs, I32:{ *:[i32] }:$cond)
21791/* 43780*/ 0, // EndSwitchType
21792/* 43781*/ /*Scope*/ 16, /*->43798*/
21793/* 43782*/ OPC_CheckChild2CondCode, ISD::SETNE,
21794/* 43784*/ OPC_MoveParent,
21795/* 43785*/ OPC_RecordChild1, // #1 = $lhs
21796/* 43786*/ OPC_RecordChild2, // #2 = $rhs
21797/* 43787*/ OPC_CheckType, MVT::funcref,
21798/* 43789*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_FUNCREF), 0,
21799 MVT::funcref, 3/*#Ops*/, 1, 2, 0,
21800 // Src: (select:{ *:[funcref] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), FUNCREF:{ *:[funcref] }:$lhs, FUNCREF:{ *:[funcref] }:$rhs) - Complexity = 11
21801 // Dst: (SELECT_FUNCREF:{ *:[funcref] } FUNCREF:{ *:[funcref] }:$lhs, FUNCREF:{ *:[funcref] }:$rhs, I32:{ *:[i32] }:$cond)
21802/* 43798*/ /*Scope*/ 16, /*->43815*/
21803/* 43799*/ OPC_CheckChild2CondCode, ISD::SETEQ,
21804/* 43801*/ OPC_MoveParent,
21805/* 43802*/ OPC_RecordChild1, // #1 = $lhs
21806/* 43803*/ OPC_RecordChild2, // #2 = $rhs
21807/* 43804*/ OPC_CheckType, MVT::funcref,
21808/* 43806*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_FUNCREF), 0,
21809 MVT::funcref, 3/*#Ops*/, 2, 1, 0,
21810 // Src: (select:{ *:[funcref] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), FUNCREF:{ *:[funcref] }:$lhs, FUNCREF:{ *:[funcref] }:$rhs) - Complexity = 11
21811 // Dst: (SELECT_FUNCREF:{ *:[funcref] } FUNCREF:{ *:[funcref] }:$rhs, FUNCREF:{ *:[funcref] }:$lhs, I32:{ *:[i32] }:$cond)
21812/* 43815*/ /*Scope*/ 16, /*->43832*/
21813/* 43816*/ OPC_CheckChild2CondCode, ISD::SETNE,
21814/* 43818*/ OPC_MoveParent,
21815/* 43819*/ OPC_RecordChild1, // #1 = $lhs
21816/* 43820*/ OPC_RecordChild2, // #2 = $rhs
21817/* 43821*/ OPC_CheckType, MVT::externref,
21818/* 43823*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_EXTERNREF), 0,
21819 MVT::externref, 3/*#Ops*/, 1, 2, 0,
21820 // Src: (select:{ *:[externref] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), EXTERNREF:{ *:[externref] }:$lhs, EXTERNREF:{ *:[externref] }:$rhs) - Complexity = 11
21821 // Dst: (SELECT_EXTERNREF:{ *:[externref] } EXTERNREF:{ *:[externref] }:$lhs, EXTERNREF:{ *:[externref] }:$rhs, I32:{ *:[i32] }:$cond)
21822/* 43832*/ /*Scope*/ 16, /*->43849*/
21823/* 43833*/ OPC_CheckChild2CondCode, ISD::SETEQ,
21824/* 43835*/ OPC_MoveParent,
21825/* 43836*/ OPC_RecordChild1, // #1 = $lhs
21826/* 43837*/ OPC_RecordChild2, // #2 = $rhs
21827/* 43838*/ OPC_CheckType, MVT::externref,
21828/* 43840*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_EXTERNREF), 0,
21829 MVT::externref, 3/*#Ops*/, 2, 1, 0,
21830 // Src: (select:{ *:[externref] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), EXTERNREF:{ *:[externref] }:$lhs, EXTERNREF:{ *:[externref] }:$rhs) - Complexity = 11
21831 // Dst: (SELECT_EXTERNREF:{ *:[externref] } EXTERNREF:{ *:[externref] }:$rhs, EXTERNREF:{ *:[externref] }:$lhs, I32:{ *:[i32] }:$cond)
21832/* 43849*/ 0, /*End of Scope*/
21833/* 43850*/ /*Scope*/ 55, /*->43906*/
21834/* 43851*/ OPC_RecordChild0, // #0 = $cond
21835/* 43852*/ OPC_CheckChild0Type, MVT::i32,
21836/* 43854*/ OPC_RecordChild1, // #1 = $lhs
21837/* 43855*/ OPC_RecordChild2, // #2 = $rhs
21838/* 43856*/ OPC_SwitchType /*4 cases */, 9, MVT::i32,// ->43868
21839/* 43859*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I32), 0,
21840 MVT::i32, 3/*#Ops*/, 1, 2, 0,
21841 // Src: (select:{ *:[i32] } I32:{ *:[i32] }:$cond, I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
21842 // Dst: (SELECT_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, I32:{ *:[i32] }:$cond)
21843/* 43868*/ /*SwitchType*/ 9, MVT::i64,// ->43879
21844/* 43870*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I64), 0,
21845 MVT::i64, 3/*#Ops*/, 1, 2, 0,
21846 // Src: (select:{ *:[i64] } I32:{ *:[i32] }:$cond, I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
21847 // Dst: (SELECT_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, I32:{ *:[i32] }:$cond)
21848/* 43879*/ /*SwitchType*/ 11, MVT::funcref,// ->43892
21849/* 43881*/ OPC_CheckPatternPredicate, 10, // (Subtarget->hasReferenceTypes())
21850/* 43883*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_FUNCREF), 0,
21851 MVT::funcref, 3/*#Ops*/, 1, 2, 0,
21852 // Src: (select:{ *:[funcref] } I32:{ *:[i32] }:$cond, FUNCREF:{ *:[funcref] }:$lhs, FUNCREF:{ *:[funcref] }:$rhs) - Complexity = 3
21853 // Dst: (SELECT_FUNCREF:{ *:[funcref] } FUNCREF:{ *:[funcref] }:$lhs, FUNCREF:{ *:[funcref] }:$rhs, I32:{ *:[i32] }:$cond)
21854/* 43892*/ /*SwitchType*/ 11, MVT::externref,// ->43905
21855/* 43894*/ OPC_CheckPatternPredicate, 10, // (Subtarget->hasReferenceTypes())
21856/* 43896*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_EXTERNREF), 0,
21857 MVT::externref, 3/*#Ops*/, 1, 2, 0,
21858 // Src: (select:{ *:[externref] } I32:{ *:[i32] }:$cond, EXTERNREF:{ *:[externref] }:$lhs, EXTERNREF:{ *:[externref] }:$rhs) - Complexity = 3
21859 // Dst: (SELECT_EXTERNREF:{ *:[externref] } EXTERNREF:{ *:[externref] }:$lhs, EXTERNREF:{ *:[externref] }:$rhs, I32:{ *:[i32] }:$cond)
21860/* 43905*/ 0, // EndSwitchType
21861/* 43906*/ /*Scope*/ 73, /*->43980*/
21862/* 43907*/ OPC_MoveChild0,
21863/* 43908*/ OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
21864/* 43911*/ OPC_RecordChild0, // #0 = $cond
21865/* 43912*/ OPC_CheckChild0Type, MVT::i32,
21866/* 43914*/ OPC_CheckChild1Integer, 0,
21867/* 43916*/ OPC_CheckType, MVT::i32,
21868/* 43918*/ OPC_Scope, 29, /*->43949*/ // 2 children in Scope
21869/* 43920*/ OPC_CheckChild2CondCode, ISD::SETNE,
21870/* 43922*/ OPC_MoveParent,
21871/* 43923*/ OPC_RecordChild1, // #1 = $lhs
21872/* 43924*/ OPC_RecordChild2, // #2 = $rhs
21873/* 43925*/ OPC_SwitchType /*2 cases */, 9, MVT::f32,// ->43937
21874/* 43928*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F32), 0,
21875 MVT::f32, 3/*#Ops*/, 1, 2, 0,
21876 // Src: (select:{ *:[f32] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 11
21877 // Dst: (SELECT_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, I32:{ *:[i32] }:$cond)
21878/* 43937*/ /*SwitchType*/ 9, MVT::f64,// ->43948
21879/* 43939*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F64), 0,
21880 MVT::f64, 3/*#Ops*/, 1, 2, 0,
21881 // Src: (select:{ *:[f64] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 11
21882 // Dst: (SELECT_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, I32:{ *:[i32] }:$cond)
21883/* 43948*/ 0, // EndSwitchType
21884/* 43949*/ /*Scope*/ 29, /*->43979*/
21885/* 43950*/ OPC_CheckChild2CondCode, ISD::SETEQ,
21886/* 43952*/ OPC_MoveParent,
21887/* 43953*/ OPC_RecordChild1, // #1 = $lhs
21888/* 43954*/ OPC_RecordChild2, // #2 = $rhs
21889/* 43955*/ OPC_SwitchType /*2 cases */, 9, MVT::f32,// ->43967
21890/* 43958*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F32), 0,
21891 MVT::f32, 3/*#Ops*/, 2, 1, 0,
21892 // Src: (select:{ *:[f32] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 11
21893 // Dst: (SELECT_F32:{ *:[f32] } F32:{ *:[f32] }:$rhs, F32:{ *:[f32] }:$lhs, I32:{ *:[i32] }:$cond)
21894/* 43967*/ /*SwitchType*/ 9, MVT::f64,// ->43978
21895/* 43969*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F64), 0,
21896 MVT::f64, 3/*#Ops*/, 2, 1, 0,
21897 // Src: (select:{ *:[f64] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 11
21898 // Dst: (SELECT_F64:{ *:[f64] } F64:{ *:[f64] }:$rhs, F64:{ *:[f64] }:$lhs, I32:{ *:[i32] }:$cond)
21899/* 43978*/ 0, // EndSwitchType
21900/* 43979*/ 0, /*End of Scope*/
21901/* 43980*/ /*Scope*/ 29, /*->44010*/
21902/* 43981*/ OPC_RecordChild0, // #0 = $cond
21903/* 43982*/ OPC_CheckChild0Type, MVT::i32,
21904/* 43984*/ OPC_RecordChild1, // #1 = $lhs
21905/* 43985*/ OPC_RecordChild2, // #2 = $rhs
21906/* 43986*/ OPC_SwitchType /*2 cases */, 9, MVT::f32,// ->43998
21907/* 43989*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F32), 0,
21908 MVT::f32, 3/*#Ops*/, 1, 2, 0,
21909 // Src: (select:{ *:[f32] } I32:{ *:[i32] }:$cond, F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
21910 // Dst: (SELECT_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, I32:{ *:[i32] }:$cond)
21911/* 43998*/ /*SwitchType*/ 9, MVT::f64,// ->44009
21912/* 44000*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F64), 0,
21913 MVT::f64, 3/*#Ops*/, 1, 2, 0,
21914 // Src: (select:{ *:[f64] } I32:{ *:[i32] }:$cond, F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
21915 // Dst: (SELECT_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, I32:{ *:[i32] }:$cond)
21916/* 44009*/ 0, // EndSwitchType
21917/* 44010*/ /*Scope*/ 21|128,1/*149*/, /*->44161*/
21918/* 44012*/ OPC_MoveChild0,
21919/* 44013*/ OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
21920/* 44016*/ OPC_RecordChild0, // #0 = $cond
21921/* 44017*/ OPC_CheckChild0Type, MVT::i32,
21922/* 44019*/ OPC_CheckChild1Integer, 0,
21923/* 44021*/ OPC_CheckType, MVT::i32,
21924/* 44023*/ OPC_Scope, 16, /*->44041*/ // 8 children in Scope
21925/* 44025*/ OPC_CheckChild2CondCode, ISD::SETNE,
21926/* 44027*/ OPC_MoveParent,
21927/* 44028*/ OPC_RecordChild1, // #1 = $lhs
21928/* 44029*/ OPC_RecordChild2, // #2 = $rhs
21929/* 44030*/ OPC_CheckType, MVT::v16i8,
21930/* 44032*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
21931 MVT::v16i8, 3/*#Ops*/, 1, 2, 0,
21932 // Src: (select:{ *:[v16i8] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 11
21933 // Dst: (SELECT_V128:{ *:[v16i8] } ?:{ *:[v16i8] }:$lhs, ?:{ *:[v16i8] }:$rhs, ?:{ *:[i32] }:$cond)
21934/* 44041*/ /*Scope*/ 16, /*->44058*/
21935/* 44042*/ OPC_CheckChild2CondCode, ISD::SETEQ,
21936/* 44044*/ OPC_MoveParent,
21937/* 44045*/ OPC_RecordChild1, // #1 = $lhs
21938/* 44046*/ OPC_RecordChild2, // #2 = $rhs
21939/* 44047*/ OPC_CheckType, MVT::v16i8,
21940/* 44049*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
21941 MVT::v16i8, 3/*#Ops*/, 2, 1, 0,
21942 // Src: (select:{ *:[v16i8] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 11
21943 // Dst: (SELECT_V128:{ *:[v16i8] } ?:{ *:[v16i8] }:$rhs, ?:{ *:[v16i8] }:$lhs, ?:{ *:[i32] }:$cond)
21944/* 44058*/ /*Scope*/ 16, /*->44075*/
21945/* 44059*/ OPC_CheckChild2CondCode, ISD::SETNE,
21946/* 44061*/ OPC_MoveParent,
21947/* 44062*/ OPC_RecordChild1, // #1 = $lhs
21948/* 44063*/ OPC_RecordChild2, // #2 = $rhs
21949/* 44064*/ OPC_CheckType, MVT::v8i16,
21950/* 44066*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
21951 MVT::v8i16, 3/*#Ops*/, 1, 2, 0,
21952 // Src: (select:{ *:[v8i16] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 11
21953 // Dst: (SELECT_V128:{ *:[v8i16] } ?:{ *:[v8i16] }:$lhs, ?:{ *:[v8i16] }:$rhs, ?:{ *:[i32] }:$cond)
21954/* 44075*/ /*Scope*/ 16, /*->44092*/
21955/* 44076*/ OPC_CheckChild2CondCode, ISD::SETEQ,
21956/* 44078*/ OPC_MoveParent,
21957/* 44079*/ OPC_RecordChild1, // #1 = $lhs
21958/* 44080*/ OPC_RecordChild2, // #2 = $rhs
21959/* 44081*/ OPC_CheckType, MVT::v8i16,
21960/* 44083*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
21961 MVT::v8i16, 3/*#Ops*/, 2, 1, 0,
21962 // Src: (select:{ *:[v8i16] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 11
21963 // Dst: (SELECT_V128:{ *:[v8i16] } ?:{ *:[v8i16] }:$rhs, ?:{ *:[v8i16] }:$lhs, ?:{ *:[i32] }:$cond)
21964/* 44092*/ /*Scope*/ 16, /*->44109*/
21965/* 44093*/ OPC_CheckChild2CondCode, ISD::SETNE,
21966/* 44095*/ OPC_MoveParent,
21967/* 44096*/ OPC_RecordChild1, // #1 = $lhs
21968/* 44097*/ OPC_RecordChild2, // #2 = $rhs
21969/* 44098*/ OPC_CheckType, MVT::v4i32,
21970/* 44100*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
21971 MVT::v4i32, 3/*#Ops*/, 1, 2, 0,
21972 // Src: (select:{ *:[v4i32] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 11
21973 // Dst: (SELECT_V128:{ *:[v4i32] } ?:{ *:[v4i32] }:$lhs, ?:{ *:[v4i32] }:$rhs, ?:{ *:[i32] }:$cond)
21974/* 44109*/ /*Scope*/ 16, /*->44126*/
21975/* 44110*/ OPC_CheckChild2CondCode, ISD::SETEQ,
21976/* 44112*/ OPC_MoveParent,
21977/* 44113*/ OPC_RecordChild1, // #1 = $lhs
21978/* 44114*/ OPC_RecordChild2, // #2 = $rhs
21979/* 44115*/ OPC_CheckType, MVT::v4i32,
21980/* 44117*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
21981 MVT::v4i32, 3/*#Ops*/, 2, 1, 0,
21982 // Src: (select:{ *:[v4i32] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 11
21983 // Dst: (SELECT_V128:{ *:[v4i32] } ?:{ *:[v4i32] }:$rhs, ?:{ *:[v4i32] }:$lhs, ?:{ *:[i32] }:$cond)
21984/* 44126*/ /*Scope*/ 16, /*->44143*/
21985/* 44127*/ OPC_CheckChild2CondCode, ISD::SETNE,
21986/* 44129*/ OPC_MoveParent,
21987/* 44130*/ OPC_RecordChild1, // #1 = $lhs
21988/* 44131*/ OPC_RecordChild2, // #2 = $rhs
21989/* 44132*/ OPC_CheckType, MVT::v2i64,
21990/* 44134*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
21991 MVT::v2i64, 3/*#Ops*/, 1, 2, 0,
21992 // Src: (select:{ *:[v2i64] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 11
21993 // Dst: (SELECT_V128:{ *:[v2i64] } ?:{ *:[v2i64] }:$lhs, ?:{ *:[v2i64] }:$rhs, ?:{ *:[i32] }:$cond)
21994/* 44143*/ /*Scope*/ 16, /*->44160*/
21995/* 44144*/ OPC_CheckChild2CondCode, ISD::SETEQ,
21996/* 44146*/ OPC_MoveParent,
21997/* 44147*/ OPC_RecordChild1, // #1 = $lhs
21998/* 44148*/ OPC_RecordChild2, // #2 = $rhs
21999/* 44149*/ OPC_CheckType, MVT::v2i64,
22000/* 44151*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
22001 MVT::v2i64, 3/*#Ops*/, 2, 1, 0,
22002 // Src: (select:{ *:[v2i64] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 11
22003 // Dst: (SELECT_V128:{ *:[v2i64] } ?:{ *:[v2i64] }:$rhs, ?:{ *:[v2i64] }:$lhs, ?:{ *:[i32] }:$cond)
22004/* 44160*/ 0, /*End of Scope*/
22005/* 44161*/ /*Scope*/ 51, /*->44213*/
22006/* 44162*/ OPC_RecordChild0, // #0 = $cond
22007/* 44163*/ OPC_CheckChild0Type, MVT::i32,
22008/* 44165*/ OPC_RecordChild1, // #1 = $lhs
22009/* 44166*/ OPC_RecordChild2, // #2 = $rhs
22010/* 44167*/ OPC_SwitchType /*4 cases */, 9, MVT::v16i8,// ->44179
22011/* 44170*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
22012 MVT::v16i8, 3/*#Ops*/, 1, 2, 0,
22013 // Src: (select:{ *:[v16i8] } I32:{ *:[i32] }:$cond, V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
22014 // Dst: (SELECT_V128:{ *:[v16i8] } ?:{ *:[v16i8] }:$lhs, ?:{ *:[v16i8] }:$rhs, ?:{ *:[i32] }:$cond)
22015/* 44179*/ /*SwitchType*/ 9, MVT::v8i16,// ->44190
22016/* 44181*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
22017 MVT::v8i16, 3/*#Ops*/, 1, 2, 0,
22018 // Src: (select:{ *:[v8i16] } I32:{ *:[i32] }:$cond, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
22019 // Dst: (SELECT_V128:{ *:[v8i16] } ?:{ *:[v8i16] }:$lhs, ?:{ *:[v8i16] }:$rhs, ?:{ *:[i32] }:$cond)
22020/* 44190*/ /*SwitchType*/ 9, MVT::v4i32,// ->44201
22021/* 44192*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
22022 MVT::v4i32, 3/*#Ops*/, 1, 2, 0,
22023 // Src: (select:{ *:[v4i32] } I32:{ *:[i32] }:$cond, V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
22024 // Dst: (SELECT_V128:{ *:[v4i32] } ?:{ *:[v4i32] }:$lhs, ?:{ *:[v4i32] }:$rhs, ?:{ *:[i32] }:$cond)
22025/* 44201*/ /*SwitchType*/ 9, MVT::v2i64,// ->44212
22026/* 44203*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
22027 MVT::v2i64, 3/*#Ops*/, 1, 2, 0,
22028 // Src: (select:{ *:[v2i64] } I32:{ *:[i32] }:$cond, V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
22029 // Dst: (SELECT_V128:{ *:[v2i64] } ?:{ *:[v2i64] }:$lhs, ?:{ *:[v2i64] }:$rhs, ?:{ *:[i32] }:$cond)
22030/* 44212*/ 0, // EndSwitchType
22031/* 44213*/ /*Scope*/ 81, /*->44295*/
22032/* 44214*/ OPC_MoveChild0,
22033/* 44215*/ OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
22034/* 44218*/ OPC_RecordChild0, // #0 = $cond
22035/* 44219*/ OPC_CheckChild0Type, MVT::i32,
22036/* 44221*/ OPC_CheckChild1Integer, 0,
22037/* 44223*/ OPC_CheckType, MVT::i32,
22038/* 44225*/ OPC_Scope, 16, /*->44243*/ // 4 children in Scope
22039/* 44227*/ OPC_CheckChild2CondCode, ISD::SETNE,
22040/* 44229*/ OPC_MoveParent,
22041/* 44230*/ OPC_RecordChild1, // #1 = $lhs
22042/* 44231*/ OPC_RecordChild2, // #2 = $rhs
22043/* 44232*/ OPC_CheckType, MVT::v4f32,
22044/* 44234*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
22045 MVT::v4f32, 3/*#Ops*/, 1, 2, 0,
22046 // Src: (select:{ *:[v4f32] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 11
22047 // Dst: (SELECT_V128:{ *:[v4f32] } ?:{ *:[v4f32] }:$lhs, ?:{ *:[v4f32] }:$rhs, ?:{ *:[i32] }:$cond)
22048/* 44243*/ /*Scope*/ 16, /*->44260*/
22049/* 44244*/ OPC_CheckChild2CondCode, ISD::SETEQ,
22050/* 44246*/ OPC_MoveParent,
22051/* 44247*/ OPC_RecordChild1, // #1 = $lhs
22052/* 44248*/ OPC_RecordChild2, // #2 = $rhs
22053/* 44249*/ OPC_CheckType, MVT::v4f32,
22054/* 44251*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
22055 MVT::v4f32, 3/*#Ops*/, 2, 1, 0,
22056 // Src: (select:{ *:[v4f32] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 11
22057 // Dst: (SELECT_V128:{ *:[v4f32] } ?:{ *:[v4f32] }:$rhs, ?:{ *:[v4f32] }:$lhs, ?:{ *:[i32] }:$cond)
22058/* 44260*/ /*Scope*/ 16, /*->44277*/
22059/* 44261*/ OPC_CheckChild2CondCode, ISD::SETNE,
22060/* 44263*/ OPC_MoveParent,
22061/* 44264*/ OPC_RecordChild1, // #1 = $lhs
22062/* 44265*/ OPC_RecordChild2, // #2 = $rhs
22063/* 44266*/ OPC_CheckType, MVT::v2f64,
22064/* 44268*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
22065 MVT::v2f64, 3/*#Ops*/, 1, 2, 0,
22066 // Src: (select:{ *:[v2f64] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 11
22067 // Dst: (SELECT_V128:{ *:[v2f64] } ?:{ *:[v2f64] }:$lhs, ?:{ *:[v2f64] }:$rhs, ?:{ *:[i32] }:$cond)
22068/* 44277*/ /*Scope*/ 16, /*->44294*/
22069/* 44278*/ OPC_CheckChild2CondCode, ISD::SETEQ,
22070/* 44280*/ OPC_MoveParent,
22071/* 44281*/ OPC_RecordChild1, // #1 = $lhs
22072/* 44282*/ OPC_RecordChild2, // #2 = $rhs
22073/* 44283*/ OPC_CheckType, MVT::v2f64,
22074/* 44285*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
22075 MVT::v2f64, 3/*#Ops*/, 2, 1, 0,
22076 // Src: (select:{ *:[v2f64] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 11
22077 // Dst: (SELECT_V128:{ *:[v2f64] } ?:{ *:[v2f64] }:$rhs, ?:{ *:[v2f64] }:$lhs, ?:{ *:[i32] }:$cond)
22078/* 44294*/ 0, /*End of Scope*/
22079/* 44295*/ /*Scope*/ 29, /*->44325*/
22080/* 44296*/ OPC_RecordChild0, // #0 = $cond
22081/* 44297*/ OPC_CheckChild0Type, MVT::i32,
22082/* 44299*/ OPC_RecordChild1, // #1 = $lhs
22083/* 44300*/ OPC_RecordChild2, // #2 = $rhs
22084/* 44301*/ OPC_SwitchType /*2 cases */, 9, MVT::v4f32,// ->44313
22085/* 44304*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
22086 MVT::v4f32, 3/*#Ops*/, 1, 2, 0,
22087 // Src: (select:{ *:[v4f32] } I32:{ *:[i32] }:$cond, V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
22088 // Dst: (SELECT_V128:{ *:[v4f32] } ?:{ *:[v4f32] }:$lhs, ?:{ *:[v4f32] }:$rhs, ?:{ *:[i32] }:$cond)
22089/* 44313*/ /*SwitchType*/ 9, MVT::v2f64,// ->44324
22090/* 44315*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_V128), 0,
22091 MVT::v2f64, 3/*#Ops*/, 1, 2, 0,
22092 // Src: (select:{ *:[v2f64] } I32:{ *:[i32] }:$cond, V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
22093 // Dst: (SELECT_V128:{ *:[v2f64] } ?:{ *:[v2f64] }:$lhs, ?:{ *:[v2f64] }:$rhs, ?:{ *:[i32] }:$cond)
22094/* 44324*/ 0, // EndSwitchType
22095/* 44325*/ 0, /*End of Scope*/
22096/* 44326*/ /*SwitchOpcode*/ 74|128,8/*1098*/, TARGET_VAL(ISD::ATOMIC_LOAD),// ->45428
22097/* 44330*/ OPC_RecordMemRef,
22098/* 44331*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
22099/* 44332*/ OPC_Scope, 0|128,5/*640*/, /*->44975*/ // 2 children in Scope
22100/* 44335*/ OPC_MoveChild1,
22101/* 44336*/ OPC_SwitchOpcode /*3 cases */, 63|128,1/*191*/, TARGET_VAL(ISD::ADD),// ->44532
22102/* 44341*/ OPC_RecordChild0, // #1 = $addr
22103/* 44342*/ OPC_RecordChild1, // #2 = $off
22104/* 44343*/ OPC_MoveChild1,
22105/* 44344*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22106/* 44347*/ OPC_MoveParent,
22107/* 44348*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
22108/* 44350*/ OPC_SwitchType /*2 cases */, 88, MVT::i32,// ->44441
22109/* 44353*/ OPC_MoveParent,
22110/* 44354*/ OPC_SwitchType /*2 cases */, 62, MVT::i32,// ->44419
22111/* 44357*/ OPC_Scope, 19, /*->44378*/ // 3 children in Scope
22112/* 44359*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_32
22113/* 44361*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
22114/* 44363*/ OPC_EmitMergeInputChains1_0,
22115/* 44364*/ OPC_EmitInteger, MVT::i32, 0,
22116/* 44367*/ OPC_EmitConvertToTarget, 2,
22117/* 44369*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22118 MVT::i32, 3/*#Ops*/, 3, 4, 1,
22119 // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_32>> - Complexity = 11
22120 // Dst: (ATOMIC_LOAD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
22121/* 44378*/ /*Scope*/ 19, /*->44398*/
22122/* 44379*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
22123/* 44381*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
22124/* 44383*/ OPC_EmitMergeInputChains1_0,
22125/* 44384*/ OPC_EmitInteger, MVT::i32, 0,
22126/* 44387*/ OPC_EmitConvertToTarget, 2,
22127/* 44389*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22128 MVT::i32, 3/*#Ops*/, 3, 4, 1,
22129 // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_8>> - Complexity = 11
22130 // Dst: (ATOMIC_LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
22131/* 44398*/ /*Scope*/ 19, /*->44418*/
22132/* 44399*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
22133/* 44401*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
22134/* 44403*/ OPC_EmitMergeInputChains1_0,
22135/* 44404*/ OPC_EmitInteger, MVT::i32, 0,
22136/* 44407*/ OPC_EmitConvertToTarget, 2,
22137/* 44409*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22138 MVT::i32, 3/*#Ops*/, 3, 4, 1,
22139 // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_16>> - Complexity = 11
22140 // Dst: (ATOMIC_LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
22141/* 44418*/ 0, /*End of Scope*/
22142/* 44419*/ /*SwitchType*/ 19, MVT::i64,// ->44440
22143/* 44421*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_64
22144/* 44423*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
22145/* 44425*/ OPC_EmitMergeInputChains1_0,
22146/* 44426*/ OPC_EmitInteger, MVT::i32, 0,
22147/* 44429*/ OPC_EmitConvertToTarget, 2,
22148/* 44431*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
22149 MVT::i64, 3/*#Ops*/, 3, 4, 1,
22150 // Src: (atomic_load:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_64>> - Complexity = 11
22151 // Dst: (ATOMIC_LOAD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
22152/* 44440*/ 0, // EndSwitchType
22153/* 44441*/ /*SwitchType*/ 88, MVT::i64,// ->44531
22154/* 44443*/ OPC_MoveParent,
22155/* 44444*/ OPC_SwitchType /*2 cases */, 62, MVT::i32,// ->44509
22156/* 44447*/ OPC_Scope, 19, /*->44468*/ // 3 children in Scope
22157/* 44449*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_32
22158/* 44451*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
22159/* 44453*/ OPC_EmitMergeInputChains1_0,
22160/* 44454*/ OPC_EmitInteger, MVT::i32, 0,
22161/* 44457*/ OPC_EmitConvertToTarget, 2,
22162/* 44459*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22163 MVT::i32, 3/*#Ops*/, 3, 4, 1,
22164 // Src: (atomic_load:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_32>> - Complexity = 11
22165 // Dst: (ATOMIC_LOAD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
22166/* 44468*/ /*Scope*/ 19, /*->44488*/
22167/* 44469*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
22168/* 44471*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
22169/* 44473*/ OPC_EmitMergeInputChains1_0,
22170/* 44474*/ OPC_EmitInteger, MVT::i32, 0,
22171/* 44477*/ OPC_EmitConvertToTarget, 2,
22172/* 44479*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22173 MVT::i32, 3/*#Ops*/, 3, 4, 1,
22174 // Src: (atomic_load:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_8>> - Complexity = 11
22175 // Dst: (ATOMIC_LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
22176/* 44488*/ /*Scope*/ 19, /*->44508*/
22177/* 44489*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
22178/* 44491*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
22179/* 44493*/ OPC_EmitMergeInputChains1_0,
22180/* 44494*/ OPC_EmitInteger, MVT::i32, 0,
22181/* 44497*/ OPC_EmitConvertToTarget, 2,
22182/* 44499*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22183 MVT::i32, 3/*#Ops*/, 3, 4, 1,
22184 // Src: (atomic_load:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_16>> - Complexity = 11
22185 // Dst: (ATOMIC_LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
22186/* 44508*/ 0, /*End of Scope*/
22187/* 44509*/ /*SwitchType*/ 19, MVT::i64,// ->44530
22188/* 44511*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_64
22189/* 44513*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
22190/* 44515*/ OPC_EmitMergeInputChains1_0,
22191/* 44516*/ OPC_EmitInteger, MVT::i32, 0,
22192/* 44519*/ OPC_EmitConvertToTarget, 2,
22193/* 44521*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
22194 MVT::i64, 3/*#Ops*/, 3, 4, 1,
22195 // Src: (atomic_load:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_64>> - Complexity = 11
22196 // Dst: (ATOMIC_LOAD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
22197/* 44530*/ 0, // EndSwitchType
22198/* 44531*/ 0, // EndSwitchType
22199/* 44532*/ /*SwitchOpcode*/ 63|128,1/*191*/, TARGET_VAL(ISD::OR),// ->44727
22200/* 44536*/ OPC_RecordChild0, // #1 = $addr
22201/* 44537*/ OPC_RecordChild1, // #2 = $off
22202/* 44538*/ OPC_MoveChild1,
22203/* 44539*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22204/* 44542*/ OPC_MoveParent,
22205/* 44543*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
22206/* 44545*/ OPC_SwitchType /*2 cases */, 88, MVT::i32,// ->44636
22207/* 44548*/ OPC_MoveParent,
22208/* 44549*/ OPC_SwitchType /*2 cases */, 62, MVT::i32,// ->44614
22209/* 44552*/ OPC_Scope, 19, /*->44573*/ // 3 children in Scope
22210/* 44554*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_32
22211/* 44556*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
22212/* 44558*/ OPC_EmitMergeInputChains1_0,
22213/* 44559*/ OPC_EmitInteger, MVT::i32, 0,
22214/* 44562*/ OPC_EmitConvertToTarget, 2,
22215/* 44564*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22216 MVT::i32, 3/*#Ops*/, 3, 4, 1,
22217 // Src: (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_32>> - Complexity = 11
22218 // Dst: (ATOMIC_LOAD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
22219/* 44573*/ /*Scope*/ 19, /*->44593*/
22220/* 44574*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
22221/* 44576*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
22222/* 44578*/ OPC_EmitMergeInputChains1_0,
22223/* 44579*/ OPC_EmitInteger, MVT::i32, 0,
22224/* 44582*/ OPC_EmitConvertToTarget, 2,
22225/* 44584*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22226 MVT::i32, 3/*#Ops*/, 3, 4, 1,
22227 // Src: (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_8>> - Complexity = 11
22228 // Dst: (ATOMIC_LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
22229/* 44593*/ /*Scope*/ 19, /*->44613*/
22230/* 44594*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
22231/* 44596*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
22232/* 44598*/ OPC_EmitMergeInputChains1_0,
22233/* 44599*/ OPC_EmitInteger, MVT::i32, 0,
22234/* 44602*/ OPC_EmitConvertToTarget, 2,
22235/* 44604*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22236 MVT::i32, 3/*#Ops*/, 3, 4, 1,
22237 // Src: (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_16>> - Complexity = 11
22238 // Dst: (ATOMIC_LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
22239/* 44613*/ 0, /*End of Scope*/
22240/* 44614*/ /*SwitchType*/ 19, MVT::i64,// ->44635
22241/* 44616*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_64
22242/* 44618*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
22243/* 44620*/ OPC_EmitMergeInputChains1_0,
22244/* 44621*/ OPC_EmitInteger, MVT::i32, 0,
22245/* 44624*/ OPC_EmitConvertToTarget, 2,
22246/* 44626*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
22247 MVT::i64, 3/*#Ops*/, 3, 4, 1,
22248 // Src: (atomic_load:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_64>> - Complexity = 11
22249 // Dst: (ATOMIC_LOAD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
22250/* 44635*/ 0, // EndSwitchType
22251/* 44636*/ /*SwitchType*/ 88, MVT::i64,// ->44726
22252/* 44638*/ OPC_MoveParent,
22253/* 44639*/ OPC_SwitchType /*2 cases */, 62, MVT::i32,// ->44704
22254/* 44642*/ OPC_Scope, 19, /*->44663*/ // 3 children in Scope
22255/* 44644*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_32
22256/* 44646*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
22257/* 44648*/ OPC_EmitMergeInputChains1_0,
22258/* 44649*/ OPC_EmitInteger, MVT::i32, 0,
22259/* 44652*/ OPC_EmitConvertToTarget, 2,
22260/* 44654*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22261 MVT::i32, 3/*#Ops*/, 3, 4, 1,
22262 // Src: (atomic_load:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_32>> - Complexity = 11
22263 // Dst: (ATOMIC_LOAD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
22264/* 44663*/ /*Scope*/ 19, /*->44683*/
22265/* 44664*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
22266/* 44666*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
22267/* 44668*/ OPC_EmitMergeInputChains1_0,
22268/* 44669*/ OPC_EmitInteger, MVT::i32, 0,
22269/* 44672*/ OPC_EmitConvertToTarget, 2,
22270/* 44674*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22271 MVT::i32, 3/*#Ops*/, 3, 4, 1,
22272 // Src: (atomic_load:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_8>> - Complexity = 11
22273 // Dst: (ATOMIC_LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
22274/* 44683*/ /*Scope*/ 19, /*->44703*/
22275/* 44684*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
22276/* 44686*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
22277/* 44688*/ OPC_EmitMergeInputChains1_0,
22278/* 44689*/ OPC_EmitInteger, MVT::i32, 0,
22279/* 44692*/ OPC_EmitConvertToTarget, 2,
22280/* 44694*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22281 MVT::i32, 3/*#Ops*/, 3, 4, 1,
22282 // Src: (atomic_load:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_16>> - Complexity = 11
22283 // Dst: (ATOMIC_LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
22284/* 44703*/ 0, /*End of Scope*/
22285/* 44704*/ /*SwitchType*/ 19, MVT::i64,// ->44725
22286/* 44706*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_64
22287/* 44708*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
22288/* 44710*/ OPC_EmitMergeInputChains1_0,
22289/* 44711*/ OPC_EmitInteger, MVT::i32, 0,
22290/* 44714*/ OPC_EmitConvertToTarget, 2,
22291/* 44716*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
22292 MVT::i64, 3/*#Ops*/, 3, 4, 1,
22293 // Src: (atomic_load:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_64>> - Complexity = 11
22294 // Dst: (ATOMIC_LOAD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
22295/* 44725*/ 0, // EndSwitchType
22296/* 44726*/ 0, // EndSwitchType
22297/* 44727*/ /*SwitchOpcode*/ 115|128,1/*243*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->44974
22298/* 44731*/ OPC_RecordChild0, // #1 = $off
22299/* 44732*/ OPC_MoveChild0,
22300/* 44733*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
22301/* 44736*/ OPC_MoveParent,
22302/* 44737*/ OPC_MoveParent,
22303/* 44738*/ OPC_SwitchType /*2 cases */, 45|128,1/*173*/, MVT::i32,// ->44915
22304/* 44742*/ OPC_Scope, 56, /*->44800*/ // 3 children in Scope
22305/* 44744*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_32
22306/* 44746*/ OPC_Scope, 25, /*->44773*/ // 2 children in Scope
22307/* 44748*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
22308/* 44750*/ OPC_EmitMergeInputChains1_0,
22309/* 44751*/ OPC_EmitInteger, MVT::i32, 0,
22310/* 44754*/ OPC_EmitInteger, MVT::i32, 0,
22311/* 44757*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22312 MVT::i32, 1/*#Ops*/, 3, // Results = #4
22313/* 44764*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22314 MVT::i32, 3/*#Ops*/, 2, 1, 4,
22315 // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_32>> - Complexity = 10
22316 // Dst: (ATOMIC_LOAD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22317/* 44773*/ /*Scope*/ 25, /*->44799*/
22318/* 44774*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
22319/* 44776*/ OPC_EmitMergeInputChains1_0,
22320/* 44777*/ OPC_EmitInteger, MVT::i32, 0,
22321/* 44780*/ OPC_EmitInteger, MVT::i64, 0,
22322/* 44783*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
22323 MVT::i64, 1/*#Ops*/, 3, // Results = #4
22324/* 44790*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22325 MVT::i32, 3/*#Ops*/, 2, 1, 4,
22326 // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_32>> - Complexity = 10
22327 // Dst: (ATOMIC_LOAD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
22328/* 44799*/ 0, /*End of Scope*/
22329/* 44800*/ /*Scope*/ 56, /*->44857*/
22330/* 44801*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
22331/* 44803*/ OPC_Scope, 25, /*->44830*/ // 2 children in Scope
22332/* 44805*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
22333/* 44807*/ OPC_EmitMergeInputChains1_0,
22334/* 44808*/ OPC_EmitInteger, MVT::i32, 0,
22335/* 44811*/ OPC_EmitInteger, MVT::i32, 0,
22336/* 44814*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22337 MVT::i32, 1/*#Ops*/, 3, // Results = #4
22338/* 44821*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22339 MVT::i32, 3/*#Ops*/, 2, 1, 4,
22340 // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>> - Complexity = 10
22341 // Dst: (ATOMIC_LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22342/* 44830*/ /*Scope*/ 25, /*->44856*/
22343/* 44831*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
22344/* 44833*/ OPC_EmitMergeInputChains1_0,
22345/* 44834*/ OPC_EmitInteger, MVT::i32, 0,
22346/* 44837*/ OPC_EmitInteger, MVT::i64, 0,
22347/* 44840*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
22348 MVT::i64, 1/*#Ops*/, 3, // Results = #4
22349/* 44847*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22350 MVT::i32, 3/*#Ops*/, 2, 1, 4,
22351 // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>> - Complexity = 10
22352 // Dst: (ATOMIC_LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
22353/* 44856*/ 0, /*End of Scope*/
22354/* 44857*/ /*Scope*/ 56, /*->44914*/
22355/* 44858*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
22356/* 44860*/ OPC_Scope, 25, /*->44887*/ // 2 children in Scope
22357/* 44862*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
22358/* 44864*/ OPC_EmitMergeInputChains1_0,
22359/* 44865*/ OPC_EmitInteger, MVT::i32, 0,
22360/* 44868*/ OPC_EmitInteger, MVT::i32, 0,
22361/* 44871*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22362 MVT::i32, 1/*#Ops*/, 3, // Results = #4
22363/* 44878*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22364 MVT::i32, 3/*#Ops*/, 2, 1, 4,
22365 // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>> - Complexity = 10
22366 // Dst: (ATOMIC_LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22367/* 44887*/ /*Scope*/ 25, /*->44913*/
22368/* 44888*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
22369/* 44890*/ OPC_EmitMergeInputChains1_0,
22370/* 44891*/ OPC_EmitInteger, MVT::i32, 0,
22371/* 44894*/ OPC_EmitInteger, MVT::i64, 0,
22372/* 44897*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
22373 MVT::i64, 1/*#Ops*/, 3, // Results = #4
22374/* 44904*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22375 MVT::i32, 3/*#Ops*/, 2, 1, 4,
22376 // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>> - Complexity = 10
22377 // Dst: (ATOMIC_LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
22378/* 44913*/ 0, /*End of Scope*/
22379/* 44914*/ 0, /*End of Scope*/
22380/* 44915*/ /*SwitchType*/ 56, MVT::i64,// ->44973
22381/* 44917*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_64
22382/* 44919*/ OPC_Scope, 25, /*->44946*/ // 2 children in Scope
22383/* 44921*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
22384/* 44923*/ OPC_EmitMergeInputChains1_0,
22385/* 44924*/ OPC_EmitInteger, MVT::i32, 0,
22386/* 44927*/ OPC_EmitInteger, MVT::i32, 0,
22387/* 44930*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22388 MVT::i32, 1/*#Ops*/, 3, // Results = #4
22389/* 44937*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
22390 MVT::i64, 3/*#Ops*/, 2, 1, 4,
22391 // Src: (atomic_load:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_64>> - Complexity = 10
22392 // Dst: (ATOMIC_LOAD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22393/* 44946*/ /*Scope*/ 25, /*->44972*/
22394/* 44947*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
22395/* 44949*/ OPC_EmitMergeInputChains1_0,
22396/* 44950*/ OPC_EmitInteger, MVT::i32, 0,
22397/* 44953*/ OPC_EmitInteger, MVT::i64, 0,
22398/* 44956*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
22399 MVT::i64, 1/*#Ops*/, 3, // Results = #4
22400/* 44963*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
22401 MVT::i64, 3/*#Ops*/, 2, 1, 4,
22402 // Src: (atomic_load:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_64>> - Complexity = 10
22403 // Dst: (ATOMIC_LOAD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
22404/* 44972*/ 0, /*End of Scope*/
22405/* 44973*/ 0, // EndSwitchType
22406/* 44974*/ 0, // EndSwitchOpcode
22407/* 44975*/ /*Scope*/ 66|128,3/*450*/, /*->45427*/
22408/* 44977*/ OPC_RecordChild1, // #1 = $off
22409/* 44978*/ OPC_Scope, 1|128,2/*257*/, /*->45238*/ // 3 children in Scope
22410/* 44981*/ OPC_MoveChild1,
22411/* 44982*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22412/* 44985*/ OPC_MoveParent,
22413/* 44986*/ OPC_SwitchType /*2 cases */, 57|128,1/*185*/, MVT::i32,// ->45175
22414/* 44990*/ OPC_Scope, 60, /*->45052*/ // 3 children in Scope
22415/* 44992*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_32
22416/* 44994*/ OPC_Scope, 27, /*->45023*/ // 2 children in Scope
22417/* 44996*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
22418/* 44998*/ OPC_EmitMergeInputChains1_0,
22419/* 44999*/ OPC_EmitInteger, MVT::i32, 0,
22420/* 45002*/ OPC_EmitConvertToTarget, 1,
22421/* 45004*/ OPC_EmitInteger, MVT::i32, 0,
22422/* 45007*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22423 MVT::i32, 1/*#Ops*/, 4, // Results = #5
22424/* 45014*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22425 MVT::i32, 3/*#Ops*/, 2, 3, 5,
22426 // Src: (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_32>> - Complexity = 7
22427 // Dst: (ATOMIC_LOAD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22428/* 45023*/ /*Scope*/ 27, /*->45051*/
22429/* 45024*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
22430/* 45026*/ OPC_EmitMergeInputChains1_0,
22431/* 45027*/ OPC_EmitInteger, MVT::i32, 0,
22432/* 45030*/ OPC_EmitConvertToTarget, 1,
22433/* 45032*/ OPC_EmitInteger, MVT::i64, 0,
22434/* 45035*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
22435 MVT::i64, 1/*#Ops*/, 4, // Results = #5
22436/* 45042*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22437 MVT::i32, 3/*#Ops*/, 2, 3, 5,
22438 // Src: (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_32>> - Complexity = 7
22439 // Dst: (ATOMIC_LOAD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
22440/* 45051*/ 0, /*End of Scope*/
22441/* 45052*/ /*Scope*/ 60, /*->45113*/
22442/* 45053*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
22443/* 45055*/ OPC_Scope, 27, /*->45084*/ // 2 children in Scope
22444/* 45057*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
22445/* 45059*/ OPC_EmitMergeInputChains1_0,
22446/* 45060*/ OPC_EmitInteger, MVT::i32, 0,
22447/* 45063*/ OPC_EmitConvertToTarget, 1,
22448/* 45065*/ OPC_EmitInteger, MVT::i32, 0,
22449/* 45068*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22450 MVT::i32, 1/*#Ops*/, 4, // Results = #5
22451/* 45075*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22452 MVT::i32, 3/*#Ops*/, 2, 3, 5,
22453 // Src: (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_8>> - Complexity = 7
22454 // Dst: (ATOMIC_LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22455/* 45084*/ /*Scope*/ 27, /*->45112*/
22456/* 45085*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
22457/* 45087*/ OPC_EmitMergeInputChains1_0,
22458/* 45088*/ OPC_EmitInteger, MVT::i32, 0,
22459/* 45091*/ OPC_EmitConvertToTarget, 1,
22460/* 45093*/ OPC_EmitInteger, MVT::i64, 0,
22461/* 45096*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
22462 MVT::i64, 1/*#Ops*/, 4, // Results = #5
22463/* 45103*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22464 MVT::i32, 3/*#Ops*/, 2, 3, 5,
22465 // Src: (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_8>> - Complexity = 7
22466 // Dst: (ATOMIC_LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
22467/* 45112*/ 0, /*End of Scope*/
22468/* 45113*/ /*Scope*/ 60, /*->45174*/
22469/* 45114*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
22470/* 45116*/ OPC_Scope, 27, /*->45145*/ // 2 children in Scope
22471/* 45118*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
22472/* 45120*/ OPC_EmitMergeInputChains1_0,
22473/* 45121*/ OPC_EmitInteger, MVT::i32, 0,
22474/* 45124*/ OPC_EmitConvertToTarget, 1,
22475/* 45126*/ OPC_EmitInteger, MVT::i32, 0,
22476/* 45129*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22477 MVT::i32, 1/*#Ops*/, 4, // Results = #5
22478/* 45136*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22479 MVT::i32, 3/*#Ops*/, 2, 3, 5,
22480 // Src: (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_16>> - Complexity = 7
22481 // Dst: (ATOMIC_LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22482/* 45145*/ /*Scope*/ 27, /*->45173*/
22483/* 45146*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
22484/* 45148*/ OPC_EmitMergeInputChains1_0,
22485/* 45149*/ OPC_EmitInteger, MVT::i32, 0,
22486/* 45152*/ OPC_EmitConvertToTarget, 1,
22487/* 45154*/ OPC_EmitInteger, MVT::i64, 0,
22488/* 45157*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
22489 MVT::i64, 1/*#Ops*/, 4, // Results = #5
22490/* 45164*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22491 MVT::i32, 3/*#Ops*/, 2, 3, 5,
22492 // Src: (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_16>> - Complexity = 7
22493 // Dst: (ATOMIC_LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
22494/* 45173*/ 0, /*End of Scope*/
22495/* 45174*/ 0, /*End of Scope*/
22496/* 45175*/ /*SwitchType*/ 60, MVT::i64,// ->45237
22497/* 45177*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_64
22498/* 45179*/ OPC_Scope, 27, /*->45208*/ // 2 children in Scope
22499/* 45181*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
22500/* 45183*/ OPC_EmitMergeInputChains1_0,
22501/* 45184*/ OPC_EmitInteger, MVT::i32, 0,
22502/* 45187*/ OPC_EmitConvertToTarget, 1,
22503/* 45189*/ OPC_EmitInteger, MVT::i32, 0,
22504/* 45192*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22505 MVT::i32, 1/*#Ops*/, 4, // Results = #5
22506/* 45199*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
22507 MVT::i64, 3/*#Ops*/, 2, 3, 5,
22508 // Src: (atomic_load:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_64>> - Complexity = 7
22509 // Dst: (ATOMIC_LOAD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22510/* 45208*/ /*Scope*/ 27, /*->45236*/
22511/* 45209*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
22512/* 45211*/ OPC_EmitMergeInputChains1_0,
22513/* 45212*/ OPC_EmitInteger, MVT::i32, 0,
22514/* 45215*/ OPC_EmitConvertToTarget, 1,
22515/* 45217*/ OPC_EmitInteger, MVT::i64, 0,
22516/* 45220*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
22517 MVT::i64, 1/*#Ops*/, 4, // Results = #5
22518/* 45227*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
22519 MVT::i64, 3/*#Ops*/, 2, 3, 5,
22520 // Src: (atomic_load:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_64>> - Complexity = 7
22521 // Dst: (ATOMIC_LOAD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
22522/* 45236*/ 0, /*End of Scope*/
22523/* 45237*/ 0, // EndSwitchType
22524/* 45238*/ /*Scope*/ 93, /*->45332*/
22525/* 45239*/ OPC_CheckChild1Type, MVT::i32,
22526/* 45241*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->45309
22527/* 45244*/ OPC_Scope, 20, /*->45266*/ // 3 children in Scope
22528/* 45246*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_32
22529/* 45248*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
22530/* 45250*/ OPC_EmitMergeInputChains1_0,
22531/* 45251*/ OPC_EmitInteger, MVT::i32, 0,
22532/* 45254*/ OPC_EmitInteger, MVT::i32, 0,
22533/* 45257*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22534 MVT::i32, 3/*#Ops*/, 2, 3, 1,
22535 // Src: (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_32>> - Complexity = 4
22536 // Dst: (ATOMIC_LOAD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
22537/* 45266*/ /*Scope*/ 20, /*->45287*/
22538/* 45267*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
22539/* 45269*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
22540/* 45271*/ OPC_EmitMergeInputChains1_0,
22541/* 45272*/ OPC_EmitInteger, MVT::i32, 0,
22542/* 45275*/ OPC_EmitInteger, MVT::i32, 0,
22543/* 45278*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22544 MVT::i32, 3/*#Ops*/, 2, 3, 1,
22545 // Src: (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_8>> - Complexity = 4
22546 // Dst: (ATOMIC_LOAD8_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
22547/* 45287*/ /*Scope*/ 20, /*->45308*/
22548/* 45288*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
22549/* 45290*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
22550/* 45292*/ OPC_EmitMergeInputChains1_0,
22551/* 45293*/ OPC_EmitInteger, MVT::i32, 0,
22552/* 45296*/ OPC_EmitInteger, MVT::i32, 0,
22553/* 45299*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22554 MVT::i32, 3/*#Ops*/, 2, 3, 1,
22555 // Src: (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_16>> - Complexity = 4
22556 // Dst: (ATOMIC_LOAD16_U_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
22557/* 45308*/ 0, /*End of Scope*/
22558/* 45309*/ /*SwitchType*/ 20, MVT::i64,// ->45331
22559/* 45311*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_64
22560/* 45313*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
22561/* 45315*/ OPC_EmitMergeInputChains1_0,
22562/* 45316*/ OPC_EmitInteger, MVT::i32, 0,
22563/* 45319*/ OPC_EmitInteger, MVT::i32, 0,
22564/* 45322*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
22565 MVT::i64, 3/*#Ops*/, 2, 3, 1,
22566 // Src: (atomic_load:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_64>> - Complexity = 4
22567 // Dst: (ATOMIC_LOAD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
22568/* 45331*/ 0, // EndSwitchType
22569/* 45332*/ /*Scope*/ 93, /*->45426*/
22570/* 45333*/ OPC_CheckChild1Type, MVT::i64,
22571/* 45335*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->45403
22572/* 45338*/ OPC_Scope, 20, /*->45360*/ // 3 children in Scope
22573/* 45340*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_32
22574/* 45342*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
22575/* 45344*/ OPC_EmitMergeInputChains1_0,
22576/* 45345*/ OPC_EmitInteger, MVT::i32, 0,
22577/* 45348*/ OPC_EmitInteger, MVT::i64, 0,
22578/* 45351*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22579 MVT::i32, 3/*#Ops*/, 2, 3, 1,
22580 // Src: (atomic_load:{ *:[i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_atomic_load_32>> - Complexity = 4
22581 // Dst: (ATOMIC_LOAD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
22582/* 45360*/ /*Scope*/ 20, /*->45381*/
22583/* 45361*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
22584/* 45363*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
22585/* 45365*/ OPC_EmitMergeInputChains1_0,
22586/* 45366*/ OPC_EmitInteger, MVT::i32, 0,
22587/* 45369*/ OPC_EmitInteger, MVT::i64, 0,
22588/* 45372*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22589 MVT::i32, 3/*#Ops*/, 2, 3, 1,
22590 // Src: (atomic_load:{ *:[i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_atomic_load_8>> - Complexity = 4
22591 // Dst: (ATOMIC_LOAD8_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
22592/* 45381*/ /*Scope*/ 20, /*->45402*/
22593/* 45382*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
22594/* 45384*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
22595/* 45386*/ OPC_EmitMergeInputChains1_0,
22596/* 45387*/ OPC_EmitInteger, MVT::i32, 0,
22597/* 45390*/ OPC_EmitInteger, MVT::i64, 0,
22598/* 45393*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22599 MVT::i32, 3/*#Ops*/, 2, 3, 1,
22600 // Src: (atomic_load:{ *:[i32] } I64:{ *:[i64] }:$addr)<<P:Predicate_atomic_load_16>> - Complexity = 4
22601 // Dst: (ATOMIC_LOAD16_U_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
22602/* 45402*/ 0, /*End of Scope*/
22603/* 45403*/ /*SwitchType*/ 20, MVT::i64,// ->45425
22604/* 45405*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_64
22605/* 45407*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
22606/* 45409*/ OPC_EmitMergeInputChains1_0,
22607/* 45410*/ OPC_EmitInteger, MVT::i32, 0,
22608/* 45413*/ OPC_EmitInteger, MVT::i64, 0,
22609/* 45416*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
22610 MVT::i64, 3/*#Ops*/, 2, 3, 1,
22611 // Src: (atomic_load:{ *:[i64] } I64:{ *:[i64] }:$addr)<<P:Predicate_atomic_load_64>> - Complexity = 4
22612 // Dst: (ATOMIC_LOAD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
22613/* 45425*/ 0, // EndSwitchType
22614/* 45426*/ 0, /*End of Scope*/
22615/* 45427*/ 0, /*End of Scope*/
22616/* 45428*/ /*SwitchOpcode*/ 122|128,8/*1146*/, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),// ->46578
22617/* 45432*/ OPC_RecordMemRef,
22618/* 45433*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
22619/* 45434*/ OPC_Scope, 29|128,5/*669*/, /*->46106*/ // 2 children in Scope
22620/* 45437*/ OPC_MoveChild1,
22621/* 45438*/ OPC_SwitchOpcode /*3 cases */, 73|128,1/*201*/, TARGET_VAL(ISD::ADD),// ->45644
22622/* 45443*/ OPC_RecordChild0, // #1 = $addr
22623/* 45444*/ OPC_RecordChild1, // #2 = $off
22624/* 45445*/ OPC_MoveChild1,
22625/* 45446*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22626/* 45449*/ OPC_MoveParent,
22627/* 45450*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
22628/* 45452*/ OPC_SwitchType /*2 cases */, 93, MVT::i32,// ->45548
22629/* 45455*/ OPC_MoveParent,
22630/* 45456*/ OPC_RecordChild2, // #3 = $val
22631/* 45457*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->45525
22632/* 45460*/ OPC_Scope, 20, /*->45482*/ // 3 children in Scope
22633/* 45462*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_add_32
22634/* 45464*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22635/* 45466*/ OPC_EmitMergeInputChains1_0,
22636/* 45467*/ OPC_EmitInteger, MVT::i32, 0,
22637/* 45470*/ OPC_EmitConvertToTarget, 2,
22638/* 45472*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22639 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22640 // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 11
22641 // Dst: (ATOMIC_RMW_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22642/* 45482*/ /*Scope*/ 20, /*->45503*/
22643/* 45483*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
22644/* 45485*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22645/* 45487*/ OPC_EmitMergeInputChains1_0,
22646/* 45488*/ OPC_EmitInteger, MVT::i32, 0,
22647/* 45491*/ OPC_EmitConvertToTarget, 2,
22648/* 45493*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22649 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22650 // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 11
22651 // Dst: (ATOMIC_RMW8_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22652/* 45503*/ /*Scope*/ 20, /*->45524*/
22653/* 45504*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
22654/* 45506*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22655/* 45508*/ OPC_EmitMergeInputChains1_0,
22656/* 45509*/ OPC_EmitInteger, MVT::i32, 0,
22657/* 45512*/ OPC_EmitConvertToTarget, 2,
22658/* 45514*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22659 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22660 // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 11
22661 // Dst: (ATOMIC_RMW16_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22662/* 45524*/ 0, /*End of Scope*/
22663/* 45525*/ /*SwitchType*/ 20, MVT::i64,// ->45547
22664/* 45527*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_add_64
22665/* 45529*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22666/* 45531*/ OPC_EmitMergeInputChains1_0,
22667/* 45532*/ OPC_EmitInteger, MVT::i32, 0,
22668/* 45535*/ OPC_EmitConvertToTarget, 2,
22669/* 45537*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
22670 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
22671 // Src: (atomic_load_add:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 11
22672 // Dst: (ATOMIC_RMW_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
22673/* 45547*/ 0, // EndSwitchType
22674/* 45548*/ /*SwitchType*/ 93, MVT::i64,// ->45643
22675/* 45550*/ OPC_MoveParent,
22676/* 45551*/ OPC_RecordChild2, // #3 = $val
22677/* 45552*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->45620
22678/* 45555*/ OPC_Scope, 20, /*->45577*/ // 3 children in Scope
22679/* 45557*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_add_32
22680/* 45559*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22681/* 45561*/ OPC_EmitMergeInputChains1_0,
22682/* 45562*/ OPC_EmitInteger, MVT::i32, 0,
22683/* 45565*/ OPC_EmitConvertToTarget, 2,
22684/* 45567*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22685 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22686 // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 11
22687 // Dst: (ATOMIC_RMW_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
22688/* 45577*/ /*Scope*/ 20, /*->45598*/
22689/* 45578*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
22690/* 45580*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22691/* 45582*/ OPC_EmitMergeInputChains1_0,
22692/* 45583*/ OPC_EmitInteger, MVT::i32, 0,
22693/* 45586*/ OPC_EmitConvertToTarget, 2,
22694/* 45588*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22695 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22696 // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 11
22697 // Dst: (ATOMIC_RMW8_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
22698/* 45598*/ /*Scope*/ 20, /*->45619*/
22699/* 45599*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
22700/* 45601*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22701/* 45603*/ OPC_EmitMergeInputChains1_0,
22702/* 45604*/ OPC_EmitInteger, MVT::i32, 0,
22703/* 45607*/ OPC_EmitConvertToTarget, 2,
22704/* 45609*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22705 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22706 // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 11
22707 // Dst: (ATOMIC_RMW16_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
22708/* 45619*/ 0, /*End of Scope*/
22709/* 45620*/ /*SwitchType*/ 20, MVT::i64,// ->45642
22710/* 45622*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_add_64
22711/* 45624*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22712/* 45626*/ OPC_EmitMergeInputChains1_0,
22713/* 45627*/ OPC_EmitInteger, MVT::i32, 0,
22714/* 45630*/ OPC_EmitConvertToTarget, 2,
22715/* 45632*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
22716 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
22717 // Src: (atomic_load_add:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 11
22718 // Dst: (ATOMIC_RMW_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
22719/* 45642*/ 0, // EndSwitchType
22720/* 45643*/ 0, // EndSwitchType
22721/* 45644*/ /*SwitchOpcode*/ 73|128,1/*201*/, TARGET_VAL(ISD::OR),// ->45849
22722/* 45648*/ OPC_RecordChild0, // #1 = $addr
22723/* 45649*/ OPC_RecordChild1, // #2 = $off
22724/* 45650*/ OPC_MoveChild1,
22725/* 45651*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22726/* 45654*/ OPC_MoveParent,
22727/* 45655*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
22728/* 45657*/ OPC_SwitchType /*2 cases */, 93, MVT::i32,// ->45753
22729/* 45660*/ OPC_MoveParent,
22730/* 45661*/ OPC_RecordChild2, // #3 = $val
22731/* 45662*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->45730
22732/* 45665*/ OPC_Scope, 20, /*->45687*/ // 3 children in Scope
22733/* 45667*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_add_32
22734/* 45669*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22735/* 45671*/ OPC_EmitMergeInputChains1_0,
22736/* 45672*/ OPC_EmitInteger, MVT::i32, 0,
22737/* 45675*/ OPC_EmitConvertToTarget, 2,
22738/* 45677*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22739 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22740 // Src: (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 11
22741 // Dst: (ATOMIC_RMW_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22742/* 45687*/ /*Scope*/ 20, /*->45708*/
22743/* 45688*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
22744/* 45690*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22745/* 45692*/ OPC_EmitMergeInputChains1_0,
22746/* 45693*/ OPC_EmitInteger, MVT::i32, 0,
22747/* 45696*/ OPC_EmitConvertToTarget, 2,
22748/* 45698*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22749 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22750 // Src: (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 11
22751 // Dst: (ATOMIC_RMW8_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22752/* 45708*/ /*Scope*/ 20, /*->45729*/
22753/* 45709*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
22754/* 45711*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22755/* 45713*/ OPC_EmitMergeInputChains1_0,
22756/* 45714*/ OPC_EmitInteger, MVT::i32, 0,
22757/* 45717*/ OPC_EmitConvertToTarget, 2,
22758/* 45719*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22759 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22760 // Src: (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 11
22761 // Dst: (ATOMIC_RMW16_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22762/* 45729*/ 0, /*End of Scope*/
22763/* 45730*/ /*SwitchType*/ 20, MVT::i64,// ->45752
22764/* 45732*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_add_64
22765/* 45734*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22766/* 45736*/ OPC_EmitMergeInputChains1_0,
22767/* 45737*/ OPC_EmitInteger, MVT::i32, 0,
22768/* 45740*/ OPC_EmitConvertToTarget, 2,
22769/* 45742*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
22770 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
22771 // Src: (atomic_load_add:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 11
22772 // Dst: (ATOMIC_RMW_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
22773/* 45752*/ 0, // EndSwitchType
22774/* 45753*/ /*SwitchType*/ 93, MVT::i64,// ->45848
22775/* 45755*/ OPC_MoveParent,
22776/* 45756*/ OPC_RecordChild2, // #3 = $val
22777/* 45757*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->45825
22778/* 45760*/ OPC_Scope, 20, /*->45782*/ // 3 children in Scope
22779/* 45762*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_add_32
22780/* 45764*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22781/* 45766*/ OPC_EmitMergeInputChains1_0,
22782/* 45767*/ OPC_EmitInteger, MVT::i32, 0,
22783/* 45770*/ OPC_EmitConvertToTarget, 2,
22784/* 45772*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22785 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22786 // Src: (atomic_load_add:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 11
22787 // Dst: (ATOMIC_RMW_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
22788/* 45782*/ /*Scope*/ 20, /*->45803*/
22789/* 45783*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
22790/* 45785*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22791/* 45787*/ OPC_EmitMergeInputChains1_0,
22792/* 45788*/ OPC_EmitInteger, MVT::i32, 0,
22793/* 45791*/ OPC_EmitConvertToTarget, 2,
22794/* 45793*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22795 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22796 // Src: (atomic_load_add:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 11
22797 // Dst: (ATOMIC_RMW8_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
22798/* 45803*/ /*Scope*/ 20, /*->45824*/
22799/* 45804*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
22800/* 45806*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22801/* 45808*/ OPC_EmitMergeInputChains1_0,
22802/* 45809*/ OPC_EmitInteger, MVT::i32, 0,
22803/* 45812*/ OPC_EmitConvertToTarget, 2,
22804/* 45814*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22805 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22806 // Src: (atomic_load_add:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 11
22807 // Dst: (ATOMIC_RMW16_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
22808/* 45824*/ 0, /*End of Scope*/
22809/* 45825*/ /*SwitchType*/ 20, MVT::i64,// ->45847
22810/* 45827*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_add_64
22811/* 45829*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22812/* 45831*/ OPC_EmitMergeInputChains1_0,
22813/* 45832*/ OPC_EmitInteger, MVT::i32, 0,
22814/* 45835*/ OPC_EmitConvertToTarget, 2,
22815/* 45837*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
22816 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
22817 // Src: (atomic_load_add:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 11
22818 // Dst: (ATOMIC_RMW_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
22819/* 45847*/ 0, // EndSwitchType
22820/* 45848*/ 0, // EndSwitchType
22821/* 45849*/ /*SwitchOpcode*/ 124|128,1/*252*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->46105
22822/* 45853*/ OPC_RecordChild0, // #1 = $off
22823/* 45854*/ OPC_MoveChild0,
22824/* 45855*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
22825/* 45858*/ OPC_MoveParent,
22826/* 45859*/ OPC_MoveParent,
22827/* 45860*/ OPC_RecordChild2, // #2 = $val
22828/* 45861*/ OPC_SwitchType /*2 cases */, 51|128,1/*179*/, MVT::i32,// ->46044
22829/* 45865*/ OPC_Scope, 58, /*->45925*/ // 3 children in Scope
22830/* 45867*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_add_32
22831/* 45869*/ OPC_Scope, 26, /*->45897*/ // 2 children in Scope
22832/* 45871*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
22833/* 45873*/ OPC_EmitMergeInputChains1_0,
22834/* 45874*/ OPC_EmitInteger, MVT::i32, 0,
22835/* 45877*/ OPC_EmitInteger, MVT::i32, 0,
22836/* 45880*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22837 MVT::i32, 1/*#Ops*/, 4, // Results = #5
22838/* 45887*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22839 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
22840 // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 10
22841 // Dst: (ATOMIC_RMW_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
22842/* 45897*/ /*Scope*/ 26, /*->45924*/
22843/* 45898*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
22844/* 45900*/ OPC_EmitMergeInputChains1_0,
22845/* 45901*/ OPC_EmitInteger, MVT::i32, 0,
22846/* 45904*/ OPC_EmitInteger, MVT::i64, 0,
22847/* 45907*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
22848 MVT::i64, 1/*#Ops*/, 4, // Results = #5
22849/* 45914*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22850 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
22851 // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 10
22852 // Dst: (ATOMIC_RMW_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
22853/* 45924*/ 0, /*End of Scope*/
22854/* 45925*/ /*Scope*/ 58, /*->45984*/
22855/* 45926*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
22856/* 45928*/ OPC_Scope, 26, /*->45956*/ // 2 children in Scope
22857/* 45930*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
22858/* 45932*/ OPC_EmitMergeInputChains1_0,
22859/* 45933*/ OPC_EmitInteger, MVT::i32, 0,
22860/* 45936*/ OPC_EmitInteger, MVT::i32, 0,
22861/* 45939*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22862 MVT::i32, 1/*#Ops*/, 4, // Results = #5
22863/* 45946*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22864 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
22865 // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 10
22866 // Dst: (ATOMIC_RMW8_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
22867/* 45956*/ /*Scope*/ 26, /*->45983*/
22868/* 45957*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
22869/* 45959*/ OPC_EmitMergeInputChains1_0,
22870/* 45960*/ OPC_EmitInteger, MVT::i32, 0,
22871/* 45963*/ OPC_EmitInteger, MVT::i64, 0,
22872/* 45966*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
22873 MVT::i64, 1/*#Ops*/, 4, // Results = #5
22874/* 45973*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22875 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
22876 // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 10
22877 // Dst: (ATOMIC_RMW8_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
22878/* 45983*/ 0, /*End of Scope*/
22879/* 45984*/ /*Scope*/ 58, /*->46043*/
22880/* 45985*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
22881/* 45987*/ OPC_Scope, 26, /*->46015*/ // 2 children in Scope
22882/* 45989*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
22883/* 45991*/ OPC_EmitMergeInputChains1_0,
22884/* 45992*/ OPC_EmitInteger, MVT::i32, 0,
22885/* 45995*/ OPC_EmitInteger, MVT::i32, 0,
22886/* 45998*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22887 MVT::i32, 1/*#Ops*/, 4, // Results = #5
22888/* 46005*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22889 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
22890 // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 10
22891 // Dst: (ATOMIC_RMW16_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
22892/* 46015*/ /*Scope*/ 26, /*->46042*/
22893/* 46016*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
22894/* 46018*/ OPC_EmitMergeInputChains1_0,
22895/* 46019*/ OPC_EmitInteger, MVT::i32, 0,
22896/* 46022*/ OPC_EmitInteger, MVT::i64, 0,
22897/* 46025*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
22898 MVT::i64, 1/*#Ops*/, 4, // Results = #5
22899/* 46032*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22900 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
22901 // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 10
22902 // Dst: (ATOMIC_RMW16_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
22903/* 46042*/ 0, /*End of Scope*/
22904/* 46043*/ 0, /*End of Scope*/
22905/* 46044*/ /*SwitchType*/ 58, MVT::i64,// ->46104
22906/* 46046*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_add_64
22907/* 46048*/ OPC_Scope, 26, /*->46076*/ // 2 children in Scope
22908/* 46050*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
22909/* 46052*/ OPC_EmitMergeInputChains1_0,
22910/* 46053*/ OPC_EmitInteger, MVT::i32, 0,
22911/* 46056*/ OPC_EmitInteger, MVT::i32, 0,
22912/* 46059*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22913 MVT::i32, 1/*#Ops*/, 4, // Results = #5
22914/* 46066*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
22915 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
22916 // Src: (atomic_load_add:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 10
22917 // Dst: (ATOMIC_RMW_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
22918/* 46076*/ /*Scope*/ 26, /*->46103*/
22919/* 46077*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
22920/* 46079*/ OPC_EmitMergeInputChains1_0,
22921/* 46080*/ OPC_EmitInteger, MVT::i32, 0,
22922/* 46083*/ OPC_EmitInteger, MVT::i64, 0,
22923/* 46086*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
22924 MVT::i64, 1/*#Ops*/, 4, // Results = #5
22925/* 46093*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
22926 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
22927 // Src: (atomic_load_add:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 10
22928 // Dst: (ATOMIC_RMW_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
22929/* 46103*/ 0, /*End of Scope*/
22930/* 46104*/ 0, // EndSwitchType
22931/* 46105*/ 0, // EndSwitchOpcode
22932/* 46106*/ /*Scope*/ 85|128,3/*469*/, /*->46577*/
22933/* 46108*/ OPC_RecordChild1, // #1 = $off
22934/* 46109*/ OPC_Scope, 10|128,2/*266*/, /*->46378*/ // 3 children in Scope
22935/* 46112*/ OPC_MoveChild1,
22936/* 46113*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22937/* 46116*/ OPC_MoveParent,
22938/* 46117*/ OPC_RecordChild2, // #2 = $val
22939/* 46118*/ OPC_SwitchType /*2 cases */, 63|128,1/*191*/, MVT::i32,// ->46313
22940/* 46122*/ OPC_Scope, 62, /*->46186*/ // 3 children in Scope
22941/* 46124*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_add_32
22942/* 46126*/ OPC_Scope, 28, /*->46156*/ // 2 children in Scope
22943/* 46128*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22944/* 46130*/ OPC_EmitMergeInputChains1_0,
22945/* 46131*/ OPC_EmitInteger, MVT::i32, 0,
22946/* 46134*/ OPC_EmitConvertToTarget, 1,
22947/* 46136*/ OPC_EmitInteger, MVT::i32, 0,
22948/* 46139*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22949 MVT::i32, 1/*#Ops*/, 5, // Results = #6
22950/* 46146*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22951 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
22952 // Src: (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 7
22953 // Dst: (ATOMIC_RMW_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
22954/* 46156*/ /*Scope*/ 28, /*->46185*/
22955/* 46157*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22956/* 46159*/ OPC_EmitMergeInputChains1_0,
22957/* 46160*/ OPC_EmitInteger, MVT::i32, 0,
22958/* 46163*/ OPC_EmitConvertToTarget, 1,
22959/* 46165*/ OPC_EmitInteger, MVT::i64, 0,
22960/* 46168*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
22961 MVT::i64, 1/*#Ops*/, 5, // Results = #6
22962/* 46175*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22963 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
22964 // Src: (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 7
22965 // Dst: (ATOMIC_RMW_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
22966/* 46185*/ 0, /*End of Scope*/
22967/* 46186*/ /*Scope*/ 62, /*->46249*/
22968/* 46187*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
22969/* 46189*/ OPC_Scope, 28, /*->46219*/ // 2 children in Scope
22970/* 46191*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22971/* 46193*/ OPC_EmitMergeInputChains1_0,
22972/* 46194*/ OPC_EmitInteger, MVT::i32, 0,
22973/* 46197*/ OPC_EmitConvertToTarget, 1,
22974/* 46199*/ OPC_EmitInteger, MVT::i32, 0,
22975/* 46202*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22976 MVT::i32, 1/*#Ops*/, 5, // Results = #6
22977/* 46209*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22978 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
22979 // Src: (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 7
22980 // Dst: (ATOMIC_RMW8_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
22981/* 46219*/ /*Scope*/ 28, /*->46248*/
22982/* 46220*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22983/* 46222*/ OPC_EmitMergeInputChains1_0,
22984/* 46223*/ OPC_EmitInteger, MVT::i32, 0,
22985/* 46226*/ OPC_EmitConvertToTarget, 1,
22986/* 46228*/ OPC_EmitInteger, MVT::i64, 0,
22987/* 46231*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
22988 MVT::i64, 1/*#Ops*/, 5, // Results = #6
22989/* 46238*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22990 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
22991 // Src: (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 7
22992 // Dst: (ATOMIC_RMW8_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
22993/* 46248*/ 0, /*End of Scope*/
22994/* 46249*/ /*Scope*/ 62, /*->46312*/
22995/* 46250*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
22996/* 46252*/ OPC_Scope, 28, /*->46282*/ // 2 children in Scope
22997/* 46254*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
22998/* 46256*/ OPC_EmitMergeInputChains1_0,
22999/* 46257*/ OPC_EmitInteger, MVT::i32, 0,
23000/* 46260*/ OPC_EmitConvertToTarget, 1,
23001/* 46262*/ OPC_EmitInteger, MVT::i32, 0,
23002/* 46265*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23003 MVT::i32, 1/*#Ops*/, 5, // Results = #6
23004/* 46272*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23005 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
23006 // Src: (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 7
23007 // Dst: (ATOMIC_RMW16_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23008/* 46282*/ /*Scope*/ 28, /*->46311*/
23009/* 46283*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23010/* 46285*/ OPC_EmitMergeInputChains1_0,
23011/* 46286*/ OPC_EmitInteger, MVT::i32, 0,
23012/* 46289*/ OPC_EmitConvertToTarget, 1,
23013/* 46291*/ OPC_EmitInteger, MVT::i64, 0,
23014/* 46294*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
23015 MVT::i64, 1/*#Ops*/, 5, // Results = #6
23016/* 46301*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23017 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
23018 // Src: (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 7
23019 // Dst: (ATOMIC_RMW16_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
23020/* 46311*/ 0, /*End of Scope*/
23021/* 46312*/ 0, /*End of Scope*/
23022/* 46313*/ /*SwitchType*/ 62, MVT::i64,// ->46377
23023/* 46315*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_add_64
23024/* 46317*/ OPC_Scope, 28, /*->46347*/ // 2 children in Scope
23025/* 46319*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23026/* 46321*/ OPC_EmitMergeInputChains1_0,
23027/* 46322*/ OPC_EmitInteger, MVT::i32, 0,
23028/* 46325*/ OPC_EmitConvertToTarget, 1,
23029/* 46327*/ OPC_EmitInteger, MVT::i32, 0,
23030/* 46330*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23031 MVT::i32, 1/*#Ops*/, 5, // Results = #6
23032/* 46337*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
23033 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
23034 // Src: (atomic_load_add:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 7
23035 // Dst: (ATOMIC_RMW_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
23036/* 46347*/ /*Scope*/ 28, /*->46376*/
23037/* 46348*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23038/* 46350*/ OPC_EmitMergeInputChains1_0,
23039/* 46351*/ OPC_EmitInteger, MVT::i32, 0,
23040/* 46354*/ OPC_EmitConvertToTarget, 1,
23041/* 46356*/ OPC_EmitInteger, MVT::i64, 0,
23042/* 46359*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
23043 MVT::i64, 1/*#Ops*/, 5, // Results = #6
23044/* 46366*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
23045 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
23046 // Src: (atomic_load_add:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 7
23047 // Dst: (ATOMIC_RMW_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
23048/* 46376*/ 0, /*End of Scope*/
23049/* 46377*/ 0, // EndSwitchType
23050/* 46378*/ /*Scope*/ 98, /*->46477*/
23051/* 46379*/ OPC_CheckChild1Type, MVT::i32,
23052/* 46381*/ OPC_RecordChild2, // #2 = $val
23053/* 46382*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->46453
23054/* 46385*/ OPC_Scope, 21, /*->46408*/ // 3 children in Scope
23055/* 46387*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_add_32
23056/* 46389*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23057/* 46391*/ OPC_EmitMergeInputChains1_0,
23058/* 46392*/ OPC_EmitInteger, MVT::i32, 0,
23059/* 46395*/ OPC_EmitInteger, MVT::i32, 0,
23060/* 46398*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23061 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23062 // Src: (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 4
23063 // Dst: (ATOMIC_RMW_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23064/* 46408*/ /*Scope*/ 21, /*->46430*/
23065/* 46409*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
23066/* 46411*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23067/* 46413*/ OPC_EmitMergeInputChains1_0,
23068/* 46414*/ OPC_EmitInteger, MVT::i32, 0,
23069/* 46417*/ OPC_EmitInteger, MVT::i32, 0,
23070/* 46420*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23071 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23072 // Src: (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 4
23073 // Dst: (ATOMIC_RMW8_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23074/* 46430*/ /*Scope*/ 21, /*->46452*/
23075/* 46431*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
23076/* 46433*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23077/* 46435*/ OPC_EmitMergeInputChains1_0,
23078/* 46436*/ OPC_EmitInteger, MVT::i32, 0,
23079/* 46439*/ OPC_EmitInteger, MVT::i32, 0,
23080/* 46442*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23081 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23082 // Src: (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 4
23083 // Dst: (ATOMIC_RMW16_U_ADD_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23084/* 46452*/ 0, /*End of Scope*/
23085/* 46453*/ /*SwitchType*/ 21, MVT::i64,// ->46476
23086/* 46455*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_add_64
23087/* 46457*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23088/* 46459*/ OPC_EmitMergeInputChains1_0,
23089/* 46460*/ OPC_EmitInteger, MVT::i32, 0,
23090/* 46463*/ OPC_EmitInteger, MVT::i32, 0,
23091/* 46466*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
23092 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
23093 // Src: (atomic_load_add:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 4
23094 // Dst: (ATOMIC_RMW_ADD_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23095/* 46476*/ 0, // EndSwitchType
23096/* 46477*/ /*Scope*/ 98, /*->46576*/
23097/* 46478*/ OPC_CheckChild1Type, MVT::i64,
23098/* 46480*/ OPC_RecordChild2, // #2 = $val
23099/* 46481*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->46552
23100/* 46484*/ OPC_Scope, 21, /*->46507*/ // 3 children in Scope
23101/* 46486*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_add_32
23102/* 46488*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23103/* 46490*/ OPC_EmitMergeInputChains1_0,
23104/* 46491*/ OPC_EmitInteger, MVT::i32, 0,
23105/* 46494*/ OPC_EmitInteger, MVT::i64, 0,
23106/* 46497*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23107 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23108 // Src: (atomic_load_add:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 4
23109 // Dst: (ATOMIC_RMW_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23110/* 46507*/ /*Scope*/ 21, /*->46529*/
23111/* 46508*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
23112/* 46510*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23113/* 46512*/ OPC_EmitMergeInputChains1_0,
23114/* 46513*/ OPC_EmitInteger, MVT::i32, 0,
23115/* 46516*/ OPC_EmitInteger, MVT::i64, 0,
23116/* 46519*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23117 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23118 // Src: (atomic_load_add:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 4
23119 // Dst: (ATOMIC_RMW8_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23120/* 46529*/ /*Scope*/ 21, /*->46551*/
23121/* 46530*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
23122/* 46532*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23123/* 46534*/ OPC_EmitMergeInputChains1_0,
23124/* 46535*/ OPC_EmitInteger, MVT::i32, 0,
23125/* 46538*/ OPC_EmitInteger, MVT::i64, 0,
23126/* 46541*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23127 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23128 // Src: (atomic_load_add:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 4
23129 // Dst: (ATOMIC_RMW16_U_ADD_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23130/* 46551*/ 0, /*End of Scope*/
23131/* 46552*/ /*SwitchType*/ 21, MVT::i64,// ->46575
23132/* 46554*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_add_64
23133/* 46556*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23134/* 46558*/ OPC_EmitMergeInputChains1_0,
23135/* 46559*/ OPC_EmitInteger, MVT::i32, 0,
23136/* 46562*/ OPC_EmitInteger, MVT::i64, 0,
23137/* 46565*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
23138 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
23139 // Src: (atomic_load_add:{ *:[i64] } I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 4
23140 // Dst: (ATOMIC_RMW_ADD_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
23141/* 46575*/ 0, // EndSwitchType
23142/* 46576*/ 0, /*End of Scope*/
23143/* 46577*/ 0, /*End of Scope*/
23144/* 46578*/ /*SwitchOpcode*/ 122|128,8/*1146*/, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),// ->47728
23145/* 46582*/ OPC_RecordMemRef,
23146/* 46583*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
23147/* 46584*/ OPC_Scope, 29|128,5/*669*/, /*->47256*/ // 2 children in Scope
23148/* 46587*/ OPC_MoveChild1,
23149/* 46588*/ OPC_SwitchOpcode /*3 cases */, 73|128,1/*201*/, TARGET_VAL(ISD::ADD),// ->46794
23150/* 46593*/ OPC_RecordChild0, // #1 = $addr
23151/* 46594*/ OPC_RecordChild1, // #2 = $off
23152/* 46595*/ OPC_MoveChild1,
23153/* 46596*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23154/* 46599*/ OPC_MoveParent,
23155/* 46600*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
23156/* 46602*/ OPC_SwitchType /*2 cases */, 93, MVT::i32,// ->46698
23157/* 46605*/ OPC_MoveParent,
23158/* 46606*/ OPC_RecordChild2, // #3 = $val
23159/* 46607*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->46675
23160/* 46610*/ OPC_Scope, 20, /*->46632*/ // 3 children in Scope
23161/* 46612*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_32
23162/* 46614*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23163/* 46616*/ OPC_EmitMergeInputChains1_0,
23164/* 46617*/ OPC_EmitInteger, MVT::i32, 0,
23165/* 46620*/ OPC_EmitConvertToTarget, 2,
23166/* 46622*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23167 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23168 // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 11
23169 // Dst: (ATOMIC_RMW_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23170/* 46632*/ /*Scope*/ 20, /*->46653*/
23171/* 46633*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
23172/* 46635*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23173/* 46637*/ OPC_EmitMergeInputChains1_0,
23174/* 46638*/ OPC_EmitInteger, MVT::i32, 0,
23175/* 46641*/ OPC_EmitConvertToTarget, 2,
23176/* 46643*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23177 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23178 // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 11
23179 // Dst: (ATOMIC_RMW8_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23180/* 46653*/ /*Scope*/ 20, /*->46674*/
23181/* 46654*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
23182/* 46656*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23183/* 46658*/ OPC_EmitMergeInputChains1_0,
23184/* 46659*/ OPC_EmitInteger, MVT::i32, 0,
23185/* 46662*/ OPC_EmitConvertToTarget, 2,
23186/* 46664*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23187 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23188 // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 11
23189 // Dst: (ATOMIC_RMW16_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23190/* 46674*/ 0, /*End of Scope*/
23191/* 46675*/ /*SwitchType*/ 20, MVT::i64,// ->46697
23192/* 46677*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_sub_64
23193/* 46679*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23194/* 46681*/ OPC_EmitMergeInputChains1_0,
23195/* 46682*/ OPC_EmitInteger, MVT::i32, 0,
23196/* 46685*/ OPC_EmitConvertToTarget, 2,
23197/* 46687*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
23198 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
23199 // Src: (atomic_load_sub:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 11
23200 // Dst: (ATOMIC_RMW_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23201/* 46697*/ 0, // EndSwitchType
23202/* 46698*/ /*SwitchType*/ 93, MVT::i64,// ->46793
23203/* 46700*/ OPC_MoveParent,
23204/* 46701*/ OPC_RecordChild2, // #3 = $val
23205/* 46702*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->46770
23206/* 46705*/ OPC_Scope, 20, /*->46727*/ // 3 children in Scope
23207/* 46707*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_32
23208/* 46709*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23209/* 46711*/ OPC_EmitMergeInputChains1_0,
23210/* 46712*/ OPC_EmitInteger, MVT::i32, 0,
23211/* 46715*/ OPC_EmitConvertToTarget, 2,
23212/* 46717*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23213 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23214 // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 11
23215 // Dst: (ATOMIC_RMW_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23216/* 46727*/ /*Scope*/ 20, /*->46748*/
23217/* 46728*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
23218/* 46730*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23219/* 46732*/ OPC_EmitMergeInputChains1_0,
23220/* 46733*/ OPC_EmitInteger, MVT::i32, 0,
23221/* 46736*/ OPC_EmitConvertToTarget, 2,
23222/* 46738*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23223 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23224 // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 11
23225 // Dst: (ATOMIC_RMW8_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23226/* 46748*/ /*Scope*/ 20, /*->46769*/
23227/* 46749*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
23228/* 46751*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23229/* 46753*/ OPC_EmitMergeInputChains1_0,
23230/* 46754*/ OPC_EmitInteger, MVT::i32, 0,
23231/* 46757*/ OPC_EmitConvertToTarget, 2,
23232/* 46759*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23233 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23234 // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 11
23235 // Dst: (ATOMIC_RMW16_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23236/* 46769*/ 0, /*End of Scope*/
23237/* 46770*/ /*SwitchType*/ 20, MVT::i64,// ->46792
23238/* 46772*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_sub_64
23239/* 46774*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23240/* 46776*/ OPC_EmitMergeInputChains1_0,
23241/* 46777*/ OPC_EmitInteger, MVT::i32, 0,
23242/* 46780*/ OPC_EmitConvertToTarget, 2,
23243/* 46782*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
23244 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
23245 // Src: (atomic_load_sub:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 11
23246 // Dst: (ATOMIC_RMW_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
23247/* 46792*/ 0, // EndSwitchType
23248/* 46793*/ 0, // EndSwitchType
23249/* 46794*/ /*SwitchOpcode*/ 73|128,1/*201*/, TARGET_VAL(ISD::OR),// ->46999
23250/* 46798*/ OPC_RecordChild0, // #1 = $addr
23251/* 46799*/ OPC_RecordChild1, // #2 = $off
23252/* 46800*/ OPC_MoveChild1,
23253/* 46801*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23254/* 46804*/ OPC_MoveParent,
23255/* 46805*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
23256/* 46807*/ OPC_SwitchType /*2 cases */, 93, MVT::i32,// ->46903
23257/* 46810*/ OPC_MoveParent,
23258/* 46811*/ OPC_RecordChild2, // #3 = $val
23259/* 46812*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->46880
23260/* 46815*/ OPC_Scope, 20, /*->46837*/ // 3 children in Scope
23261/* 46817*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_32
23262/* 46819*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23263/* 46821*/ OPC_EmitMergeInputChains1_0,
23264/* 46822*/ OPC_EmitInteger, MVT::i32, 0,
23265/* 46825*/ OPC_EmitConvertToTarget, 2,
23266/* 46827*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23267 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23268 // Src: (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 11
23269 // Dst: (ATOMIC_RMW_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23270/* 46837*/ /*Scope*/ 20, /*->46858*/
23271/* 46838*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
23272/* 46840*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23273/* 46842*/ OPC_EmitMergeInputChains1_0,
23274/* 46843*/ OPC_EmitInteger, MVT::i32, 0,
23275/* 46846*/ OPC_EmitConvertToTarget, 2,
23276/* 46848*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23277 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23278 // Src: (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 11
23279 // Dst: (ATOMIC_RMW8_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23280/* 46858*/ /*Scope*/ 20, /*->46879*/
23281/* 46859*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
23282/* 46861*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23283/* 46863*/ OPC_EmitMergeInputChains1_0,
23284/* 46864*/ OPC_EmitInteger, MVT::i32, 0,
23285/* 46867*/ OPC_EmitConvertToTarget, 2,
23286/* 46869*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23287 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23288 // Src: (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 11
23289 // Dst: (ATOMIC_RMW16_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23290/* 46879*/ 0, /*End of Scope*/
23291/* 46880*/ /*SwitchType*/ 20, MVT::i64,// ->46902
23292/* 46882*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_sub_64
23293/* 46884*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23294/* 46886*/ OPC_EmitMergeInputChains1_0,
23295/* 46887*/ OPC_EmitInteger, MVT::i32, 0,
23296/* 46890*/ OPC_EmitConvertToTarget, 2,
23297/* 46892*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
23298 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
23299 // Src: (atomic_load_sub:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 11
23300 // Dst: (ATOMIC_RMW_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23301/* 46902*/ 0, // EndSwitchType
23302/* 46903*/ /*SwitchType*/ 93, MVT::i64,// ->46998
23303/* 46905*/ OPC_MoveParent,
23304/* 46906*/ OPC_RecordChild2, // #3 = $val
23305/* 46907*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->46975
23306/* 46910*/ OPC_Scope, 20, /*->46932*/ // 3 children in Scope
23307/* 46912*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_32
23308/* 46914*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23309/* 46916*/ OPC_EmitMergeInputChains1_0,
23310/* 46917*/ OPC_EmitInteger, MVT::i32, 0,
23311/* 46920*/ OPC_EmitConvertToTarget, 2,
23312/* 46922*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23313 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23314 // Src: (atomic_load_sub:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 11
23315 // Dst: (ATOMIC_RMW_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23316/* 46932*/ /*Scope*/ 20, /*->46953*/
23317/* 46933*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
23318/* 46935*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23319/* 46937*/ OPC_EmitMergeInputChains1_0,
23320/* 46938*/ OPC_EmitInteger, MVT::i32, 0,
23321/* 46941*/ OPC_EmitConvertToTarget, 2,
23322/* 46943*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23323 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23324 // Src: (atomic_load_sub:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 11
23325 // Dst: (ATOMIC_RMW8_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23326/* 46953*/ /*Scope*/ 20, /*->46974*/
23327/* 46954*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
23328/* 46956*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23329/* 46958*/ OPC_EmitMergeInputChains1_0,
23330/* 46959*/ OPC_EmitInteger, MVT::i32, 0,
23331/* 46962*/ OPC_EmitConvertToTarget, 2,
23332/* 46964*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23333 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23334 // Src: (atomic_load_sub:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 11
23335 // Dst: (ATOMIC_RMW16_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23336/* 46974*/ 0, /*End of Scope*/
23337/* 46975*/ /*SwitchType*/ 20, MVT::i64,// ->46997
23338/* 46977*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_sub_64
23339/* 46979*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23340/* 46981*/ OPC_EmitMergeInputChains1_0,
23341/* 46982*/ OPC_EmitInteger, MVT::i32, 0,
23342/* 46985*/ OPC_EmitConvertToTarget, 2,
23343/* 46987*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
23344 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
23345 // Src: (atomic_load_sub:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 11
23346 // Dst: (ATOMIC_RMW_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
23347/* 46997*/ 0, // EndSwitchType
23348/* 46998*/ 0, // EndSwitchType
23349/* 46999*/ /*SwitchOpcode*/ 124|128,1/*252*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->47255
23350/* 47003*/ OPC_RecordChild0, // #1 = $off
23351/* 47004*/ OPC_MoveChild0,
23352/* 47005*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
23353/* 47008*/ OPC_MoveParent,
23354/* 47009*/ OPC_MoveParent,
23355/* 47010*/ OPC_RecordChild2, // #2 = $val
23356/* 47011*/ OPC_SwitchType /*2 cases */, 51|128,1/*179*/, MVT::i32,// ->47194
23357/* 47015*/ OPC_Scope, 58, /*->47075*/ // 3 children in Scope
23358/* 47017*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_32
23359/* 47019*/ OPC_Scope, 26, /*->47047*/ // 2 children in Scope
23360/* 47021*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
23361/* 47023*/ OPC_EmitMergeInputChains1_0,
23362/* 47024*/ OPC_EmitInteger, MVT::i32, 0,
23363/* 47027*/ OPC_EmitInteger, MVT::i32, 0,
23364/* 47030*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23365 MVT::i32, 1/*#Ops*/, 4, // Results = #5
23366/* 47037*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23367 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23368 // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 10
23369 // Dst: (ATOMIC_RMW_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23370/* 47047*/ /*Scope*/ 26, /*->47074*/
23371/* 47048*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
23372/* 47050*/ OPC_EmitMergeInputChains1_0,
23373/* 47051*/ OPC_EmitInteger, MVT::i32, 0,
23374/* 47054*/ OPC_EmitInteger, MVT::i64, 0,
23375/* 47057*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
23376 MVT::i64, 1/*#Ops*/, 4, // Results = #5
23377/* 47064*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23378 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23379 // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 10
23380 // Dst: (ATOMIC_RMW_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
23381/* 47074*/ 0, /*End of Scope*/
23382/* 47075*/ /*Scope*/ 58, /*->47134*/
23383/* 47076*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
23384/* 47078*/ OPC_Scope, 26, /*->47106*/ // 2 children in Scope
23385/* 47080*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
23386/* 47082*/ OPC_EmitMergeInputChains1_0,
23387/* 47083*/ OPC_EmitInteger, MVT::i32, 0,
23388/* 47086*/ OPC_EmitInteger, MVT::i32, 0,
23389/* 47089*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23390 MVT::i32, 1/*#Ops*/, 4, // Results = #5
23391/* 47096*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23392 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23393 // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 10
23394 // Dst: (ATOMIC_RMW8_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23395/* 47106*/ /*Scope*/ 26, /*->47133*/
23396/* 47107*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
23397/* 47109*/ OPC_EmitMergeInputChains1_0,
23398/* 47110*/ OPC_EmitInteger, MVT::i32, 0,
23399/* 47113*/ OPC_EmitInteger, MVT::i64, 0,
23400/* 47116*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
23401 MVT::i64, 1/*#Ops*/, 4, // Results = #5
23402/* 47123*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23403 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23404 // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 10
23405 // Dst: (ATOMIC_RMW8_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
23406/* 47133*/ 0, /*End of Scope*/
23407/* 47134*/ /*Scope*/ 58, /*->47193*/
23408/* 47135*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
23409/* 47137*/ OPC_Scope, 26, /*->47165*/ // 2 children in Scope
23410/* 47139*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
23411/* 47141*/ OPC_EmitMergeInputChains1_0,
23412/* 47142*/ OPC_EmitInteger, MVT::i32, 0,
23413/* 47145*/ OPC_EmitInteger, MVT::i32, 0,
23414/* 47148*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23415 MVT::i32, 1/*#Ops*/, 4, // Results = #5
23416/* 47155*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23417 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23418 // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 10
23419 // Dst: (ATOMIC_RMW16_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23420/* 47165*/ /*Scope*/ 26, /*->47192*/
23421/* 47166*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
23422/* 47168*/ OPC_EmitMergeInputChains1_0,
23423/* 47169*/ OPC_EmitInteger, MVT::i32, 0,
23424/* 47172*/ OPC_EmitInteger, MVT::i64, 0,
23425/* 47175*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
23426 MVT::i64, 1/*#Ops*/, 4, // Results = #5
23427/* 47182*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23428 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23429 // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 10
23430 // Dst: (ATOMIC_RMW16_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
23431/* 47192*/ 0, /*End of Scope*/
23432/* 47193*/ 0, /*End of Scope*/
23433/* 47194*/ /*SwitchType*/ 58, MVT::i64,// ->47254
23434/* 47196*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_sub_64
23435/* 47198*/ OPC_Scope, 26, /*->47226*/ // 2 children in Scope
23436/* 47200*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
23437/* 47202*/ OPC_EmitMergeInputChains1_0,
23438/* 47203*/ OPC_EmitInteger, MVT::i32, 0,
23439/* 47206*/ OPC_EmitInteger, MVT::i32, 0,
23440/* 47209*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23441 MVT::i32, 1/*#Ops*/, 4, // Results = #5
23442/* 47216*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
23443 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
23444 // Src: (atomic_load_sub:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 10
23445 // Dst: (ATOMIC_RMW_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
23446/* 47226*/ /*Scope*/ 26, /*->47253*/
23447/* 47227*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
23448/* 47229*/ OPC_EmitMergeInputChains1_0,
23449/* 47230*/ OPC_EmitInteger, MVT::i32, 0,
23450/* 47233*/ OPC_EmitInteger, MVT::i64, 0,
23451/* 47236*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
23452 MVT::i64, 1/*#Ops*/, 4, // Results = #5
23453/* 47243*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
23454 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
23455 // Src: (atomic_load_sub:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 10
23456 // Dst: (ATOMIC_RMW_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
23457/* 47253*/ 0, /*End of Scope*/
23458/* 47254*/ 0, // EndSwitchType
23459/* 47255*/ 0, // EndSwitchOpcode
23460/* 47256*/ /*Scope*/ 85|128,3/*469*/, /*->47727*/
23461/* 47258*/ OPC_RecordChild1, // #1 = $off
23462/* 47259*/ OPC_Scope, 10|128,2/*266*/, /*->47528*/ // 3 children in Scope
23463/* 47262*/ OPC_MoveChild1,
23464/* 47263*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23465/* 47266*/ OPC_MoveParent,
23466/* 47267*/ OPC_RecordChild2, // #2 = $val
23467/* 47268*/ OPC_SwitchType /*2 cases */, 63|128,1/*191*/, MVT::i32,// ->47463
23468/* 47272*/ OPC_Scope, 62, /*->47336*/ // 3 children in Scope
23469/* 47274*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_32
23470/* 47276*/ OPC_Scope, 28, /*->47306*/ // 2 children in Scope
23471/* 47278*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23472/* 47280*/ OPC_EmitMergeInputChains1_0,
23473/* 47281*/ OPC_EmitInteger, MVT::i32, 0,
23474/* 47284*/ OPC_EmitConvertToTarget, 1,
23475/* 47286*/ OPC_EmitInteger, MVT::i32, 0,
23476/* 47289*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23477 MVT::i32, 1/*#Ops*/, 5, // Results = #6
23478/* 47296*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23479 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
23480 // Src: (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 7
23481 // Dst: (ATOMIC_RMW_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23482/* 47306*/ /*Scope*/ 28, /*->47335*/
23483/* 47307*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23484/* 47309*/ OPC_EmitMergeInputChains1_0,
23485/* 47310*/ OPC_EmitInteger, MVT::i32, 0,
23486/* 47313*/ OPC_EmitConvertToTarget, 1,
23487/* 47315*/ OPC_EmitInteger, MVT::i64, 0,
23488/* 47318*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
23489 MVT::i64, 1/*#Ops*/, 5, // Results = #6
23490/* 47325*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23491 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
23492 // Src: (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 7
23493 // Dst: (ATOMIC_RMW_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
23494/* 47335*/ 0, /*End of Scope*/
23495/* 47336*/ /*Scope*/ 62, /*->47399*/
23496/* 47337*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
23497/* 47339*/ OPC_Scope, 28, /*->47369*/ // 2 children in Scope
23498/* 47341*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23499/* 47343*/ OPC_EmitMergeInputChains1_0,
23500/* 47344*/ OPC_EmitInteger, MVT::i32, 0,
23501/* 47347*/ OPC_EmitConvertToTarget, 1,
23502/* 47349*/ OPC_EmitInteger, MVT::i32, 0,
23503/* 47352*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23504 MVT::i32, 1/*#Ops*/, 5, // Results = #6
23505/* 47359*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23506 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
23507 // Src: (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 7
23508 // Dst: (ATOMIC_RMW8_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23509/* 47369*/ /*Scope*/ 28, /*->47398*/
23510/* 47370*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23511/* 47372*/ OPC_EmitMergeInputChains1_0,
23512/* 47373*/ OPC_EmitInteger, MVT::i32, 0,
23513/* 47376*/ OPC_EmitConvertToTarget, 1,
23514/* 47378*/ OPC_EmitInteger, MVT::i64, 0,
23515/* 47381*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
23516 MVT::i64, 1/*#Ops*/, 5, // Results = #6
23517/* 47388*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23518 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
23519 // Src: (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 7
23520 // Dst: (ATOMIC_RMW8_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
23521/* 47398*/ 0, /*End of Scope*/
23522/* 47399*/ /*Scope*/ 62, /*->47462*/
23523/* 47400*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
23524/* 47402*/ OPC_Scope, 28, /*->47432*/ // 2 children in Scope
23525/* 47404*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23526/* 47406*/ OPC_EmitMergeInputChains1_0,
23527/* 47407*/ OPC_EmitInteger, MVT::i32, 0,
23528/* 47410*/ OPC_EmitConvertToTarget, 1,
23529/* 47412*/ OPC_EmitInteger, MVT::i32, 0,
23530/* 47415*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23531 MVT::i32, 1/*#Ops*/, 5, // Results = #6
23532/* 47422*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23533 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
23534 // Src: (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 7
23535 // Dst: (ATOMIC_RMW16_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23536/* 47432*/ /*Scope*/ 28, /*->47461*/
23537/* 47433*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23538/* 47435*/ OPC_EmitMergeInputChains1_0,
23539/* 47436*/ OPC_EmitInteger, MVT::i32, 0,
23540/* 47439*/ OPC_EmitConvertToTarget, 1,
23541/* 47441*/ OPC_EmitInteger, MVT::i64, 0,
23542/* 47444*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
23543 MVT::i64, 1/*#Ops*/, 5, // Results = #6
23544/* 47451*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23545 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
23546 // Src: (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 7
23547 // Dst: (ATOMIC_RMW16_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
23548/* 47461*/ 0, /*End of Scope*/
23549/* 47462*/ 0, /*End of Scope*/
23550/* 47463*/ /*SwitchType*/ 62, MVT::i64,// ->47527
23551/* 47465*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_sub_64
23552/* 47467*/ OPC_Scope, 28, /*->47497*/ // 2 children in Scope
23553/* 47469*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23554/* 47471*/ OPC_EmitMergeInputChains1_0,
23555/* 47472*/ OPC_EmitInteger, MVT::i32, 0,
23556/* 47475*/ OPC_EmitConvertToTarget, 1,
23557/* 47477*/ OPC_EmitInteger, MVT::i32, 0,
23558/* 47480*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23559 MVT::i32, 1/*#Ops*/, 5, // Results = #6
23560/* 47487*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
23561 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
23562 // Src: (atomic_load_sub:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 7
23563 // Dst: (ATOMIC_RMW_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
23564/* 47497*/ /*Scope*/ 28, /*->47526*/
23565/* 47498*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23566/* 47500*/ OPC_EmitMergeInputChains1_0,
23567/* 47501*/ OPC_EmitInteger, MVT::i32, 0,
23568/* 47504*/ OPC_EmitConvertToTarget, 1,
23569/* 47506*/ OPC_EmitInteger, MVT::i64, 0,
23570/* 47509*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
23571 MVT::i64, 1/*#Ops*/, 5, // Results = #6
23572/* 47516*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
23573 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
23574 // Src: (atomic_load_sub:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 7
23575 // Dst: (ATOMIC_RMW_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
23576/* 47526*/ 0, /*End of Scope*/
23577/* 47527*/ 0, // EndSwitchType
23578/* 47528*/ /*Scope*/ 98, /*->47627*/
23579/* 47529*/ OPC_CheckChild1Type, MVT::i32,
23580/* 47531*/ OPC_RecordChild2, // #2 = $val
23581/* 47532*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->47603
23582/* 47535*/ OPC_Scope, 21, /*->47558*/ // 3 children in Scope
23583/* 47537*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_32
23584/* 47539*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23585/* 47541*/ OPC_EmitMergeInputChains1_0,
23586/* 47542*/ OPC_EmitInteger, MVT::i32, 0,
23587/* 47545*/ OPC_EmitInteger, MVT::i32, 0,
23588/* 47548*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23589 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23590 // Src: (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 4
23591 // Dst: (ATOMIC_RMW_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23592/* 47558*/ /*Scope*/ 21, /*->47580*/
23593/* 47559*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
23594/* 47561*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23595/* 47563*/ OPC_EmitMergeInputChains1_0,
23596/* 47564*/ OPC_EmitInteger, MVT::i32, 0,
23597/* 47567*/ OPC_EmitInteger, MVT::i32, 0,
23598/* 47570*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23599 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23600 // Src: (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 4
23601 // Dst: (ATOMIC_RMW8_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23602/* 47580*/ /*Scope*/ 21, /*->47602*/
23603/* 47581*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
23604/* 47583*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23605/* 47585*/ OPC_EmitMergeInputChains1_0,
23606/* 47586*/ OPC_EmitInteger, MVT::i32, 0,
23607/* 47589*/ OPC_EmitInteger, MVT::i32, 0,
23608/* 47592*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23609 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23610 // Src: (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 4
23611 // Dst: (ATOMIC_RMW16_U_SUB_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23612/* 47602*/ 0, /*End of Scope*/
23613/* 47603*/ /*SwitchType*/ 21, MVT::i64,// ->47626
23614/* 47605*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_sub_64
23615/* 47607*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23616/* 47609*/ OPC_EmitMergeInputChains1_0,
23617/* 47610*/ OPC_EmitInteger, MVT::i32, 0,
23618/* 47613*/ OPC_EmitInteger, MVT::i32, 0,
23619/* 47616*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
23620 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
23621 // Src: (atomic_load_sub:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 4
23622 // Dst: (ATOMIC_RMW_SUB_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23623/* 47626*/ 0, // EndSwitchType
23624/* 47627*/ /*Scope*/ 98, /*->47726*/
23625/* 47628*/ OPC_CheckChild1Type, MVT::i64,
23626/* 47630*/ OPC_RecordChild2, // #2 = $val
23627/* 47631*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->47702
23628/* 47634*/ OPC_Scope, 21, /*->47657*/ // 3 children in Scope
23629/* 47636*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_32
23630/* 47638*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23631/* 47640*/ OPC_EmitMergeInputChains1_0,
23632/* 47641*/ OPC_EmitInteger, MVT::i32, 0,
23633/* 47644*/ OPC_EmitInteger, MVT::i64, 0,
23634/* 47647*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23635 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23636 // Src: (atomic_load_sub:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 4
23637 // Dst: (ATOMIC_RMW_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23638/* 47657*/ /*Scope*/ 21, /*->47679*/
23639/* 47658*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
23640/* 47660*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23641/* 47662*/ OPC_EmitMergeInputChains1_0,
23642/* 47663*/ OPC_EmitInteger, MVT::i32, 0,
23643/* 47666*/ OPC_EmitInteger, MVT::i64, 0,
23644/* 47669*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23645 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23646 // Src: (atomic_load_sub:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 4
23647 // Dst: (ATOMIC_RMW8_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23648/* 47679*/ /*Scope*/ 21, /*->47701*/
23649/* 47680*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
23650/* 47682*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23651/* 47684*/ OPC_EmitMergeInputChains1_0,
23652/* 47685*/ OPC_EmitInteger, MVT::i32, 0,
23653/* 47688*/ OPC_EmitInteger, MVT::i64, 0,
23654/* 47691*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23655 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23656 // Src: (atomic_load_sub:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 4
23657 // Dst: (ATOMIC_RMW16_U_SUB_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23658/* 47701*/ 0, /*End of Scope*/
23659/* 47702*/ /*SwitchType*/ 21, MVT::i64,// ->47725
23660/* 47704*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_sub_64
23661/* 47706*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23662/* 47708*/ OPC_EmitMergeInputChains1_0,
23663/* 47709*/ OPC_EmitInteger, MVT::i32, 0,
23664/* 47712*/ OPC_EmitInteger, MVT::i64, 0,
23665/* 47715*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
23666 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
23667 // Src: (atomic_load_sub:{ *:[i64] } I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 4
23668 // Dst: (ATOMIC_RMW_SUB_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
23669/* 47725*/ 0, // EndSwitchType
23670/* 47726*/ 0, /*End of Scope*/
23671/* 47727*/ 0, /*End of Scope*/
23672/* 47728*/ /*SwitchOpcode*/ 122|128,8/*1146*/, TARGET_VAL(ISD::ATOMIC_LOAD_AND),// ->48878
23673/* 47732*/ OPC_RecordMemRef,
23674/* 47733*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
23675/* 47734*/ OPC_Scope, 29|128,5/*669*/, /*->48406*/ // 2 children in Scope
23676/* 47737*/ OPC_MoveChild1,
23677/* 47738*/ OPC_SwitchOpcode /*3 cases */, 73|128,1/*201*/, TARGET_VAL(ISD::ADD),// ->47944
23678/* 47743*/ OPC_RecordChild0, // #1 = $addr
23679/* 47744*/ OPC_RecordChild1, // #2 = $off
23680/* 47745*/ OPC_MoveChild1,
23681/* 47746*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23682/* 47749*/ OPC_MoveParent,
23683/* 47750*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
23684/* 47752*/ OPC_SwitchType /*2 cases */, 93, MVT::i32,// ->47848
23685/* 47755*/ OPC_MoveParent,
23686/* 47756*/ OPC_RecordChild2, // #3 = $val
23687/* 47757*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->47825
23688/* 47760*/ OPC_Scope, 20, /*->47782*/ // 3 children in Scope
23689/* 47762*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_and_32
23690/* 47764*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23691/* 47766*/ OPC_EmitMergeInputChains1_0,
23692/* 47767*/ OPC_EmitInteger, MVT::i32, 0,
23693/* 47770*/ OPC_EmitConvertToTarget, 2,
23694/* 47772*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23695 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23696 // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 11
23697 // Dst: (ATOMIC_RMW_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23698/* 47782*/ /*Scope*/ 20, /*->47803*/
23699/* 47783*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
23700/* 47785*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23701/* 47787*/ OPC_EmitMergeInputChains1_0,
23702/* 47788*/ OPC_EmitInteger, MVT::i32, 0,
23703/* 47791*/ OPC_EmitConvertToTarget, 2,
23704/* 47793*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23705 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23706 // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 11
23707 // Dst: (ATOMIC_RMW8_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23708/* 47803*/ /*Scope*/ 20, /*->47824*/
23709/* 47804*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
23710/* 47806*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23711/* 47808*/ OPC_EmitMergeInputChains1_0,
23712/* 47809*/ OPC_EmitInteger, MVT::i32, 0,
23713/* 47812*/ OPC_EmitConvertToTarget, 2,
23714/* 47814*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23715 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23716 // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 11
23717 // Dst: (ATOMIC_RMW16_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23718/* 47824*/ 0, /*End of Scope*/
23719/* 47825*/ /*SwitchType*/ 20, MVT::i64,// ->47847
23720/* 47827*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_and_64
23721/* 47829*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23722/* 47831*/ OPC_EmitMergeInputChains1_0,
23723/* 47832*/ OPC_EmitInteger, MVT::i32, 0,
23724/* 47835*/ OPC_EmitConvertToTarget, 2,
23725/* 47837*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
23726 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
23727 // Src: (atomic_load_and:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 11
23728 // Dst: (ATOMIC_RMW_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23729/* 47847*/ 0, // EndSwitchType
23730/* 47848*/ /*SwitchType*/ 93, MVT::i64,// ->47943
23731/* 47850*/ OPC_MoveParent,
23732/* 47851*/ OPC_RecordChild2, // #3 = $val
23733/* 47852*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->47920
23734/* 47855*/ OPC_Scope, 20, /*->47877*/ // 3 children in Scope
23735/* 47857*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_and_32
23736/* 47859*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23737/* 47861*/ OPC_EmitMergeInputChains1_0,
23738/* 47862*/ OPC_EmitInteger, MVT::i32, 0,
23739/* 47865*/ OPC_EmitConvertToTarget, 2,
23740/* 47867*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23741 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23742 // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 11
23743 // Dst: (ATOMIC_RMW_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23744/* 47877*/ /*Scope*/ 20, /*->47898*/
23745/* 47878*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
23746/* 47880*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23747/* 47882*/ OPC_EmitMergeInputChains1_0,
23748/* 47883*/ OPC_EmitInteger, MVT::i32, 0,
23749/* 47886*/ OPC_EmitConvertToTarget, 2,
23750/* 47888*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23751 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23752 // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 11
23753 // Dst: (ATOMIC_RMW8_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23754/* 47898*/ /*Scope*/ 20, /*->47919*/
23755/* 47899*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
23756/* 47901*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23757/* 47903*/ OPC_EmitMergeInputChains1_0,
23758/* 47904*/ OPC_EmitInteger, MVT::i32, 0,
23759/* 47907*/ OPC_EmitConvertToTarget, 2,
23760/* 47909*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23761 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23762 // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 11
23763 // Dst: (ATOMIC_RMW16_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23764/* 47919*/ 0, /*End of Scope*/
23765/* 47920*/ /*SwitchType*/ 20, MVT::i64,// ->47942
23766/* 47922*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_and_64
23767/* 47924*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23768/* 47926*/ OPC_EmitMergeInputChains1_0,
23769/* 47927*/ OPC_EmitInteger, MVT::i32, 0,
23770/* 47930*/ OPC_EmitConvertToTarget, 2,
23771/* 47932*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
23772 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
23773 // Src: (atomic_load_and:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 11
23774 // Dst: (ATOMIC_RMW_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
23775/* 47942*/ 0, // EndSwitchType
23776/* 47943*/ 0, // EndSwitchType
23777/* 47944*/ /*SwitchOpcode*/ 73|128,1/*201*/, TARGET_VAL(ISD::OR),// ->48149
23778/* 47948*/ OPC_RecordChild0, // #1 = $addr
23779/* 47949*/ OPC_RecordChild1, // #2 = $off
23780/* 47950*/ OPC_MoveChild1,
23781/* 47951*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23782/* 47954*/ OPC_MoveParent,
23783/* 47955*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
23784/* 47957*/ OPC_SwitchType /*2 cases */, 93, MVT::i32,// ->48053
23785/* 47960*/ OPC_MoveParent,
23786/* 47961*/ OPC_RecordChild2, // #3 = $val
23787/* 47962*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->48030
23788/* 47965*/ OPC_Scope, 20, /*->47987*/ // 3 children in Scope
23789/* 47967*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_and_32
23790/* 47969*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23791/* 47971*/ OPC_EmitMergeInputChains1_0,
23792/* 47972*/ OPC_EmitInteger, MVT::i32, 0,
23793/* 47975*/ OPC_EmitConvertToTarget, 2,
23794/* 47977*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23795 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23796 // Src: (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 11
23797 // Dst: (ATOMIC_RMW_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23798/* 47987*/ /*Scope*/ 20, /*->48008*/
23799/* 47988*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
23800/* 47990*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23801/* 47992*/ OPC_EmitMergeInputChains1_0,
23802/* 47993*/ OPC_EmitInteger, MVT::i32, 0,
23803/* 47996*/ OPC_EmitConvertToTarget, 2,
23804/* 47998*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23805 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23806 // Src: (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 11
23807 // Dst: (ATOMIC_RMW8_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23808/* 48008*/ /*Scope*/ 20, /*->48029*/
23809/* 48009*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
23810/* 48011*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23811/* 48013*/ OPC_EmitMergeInputChains1_0,
23812/* 48014*/ OPC_EmitInteger, MVT::i32, 0,
23813/* 48017*/ OPC_EmitConvertToTarget, 2,
23814/* 48019*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23815 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23816 // Src: (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 11
23817 // Dst: (ATOMIC_RMW16_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23818/* 48029*/ 0, /*End of Scope*/
23819/* 48030*/ /*SwitchType*/ 20, MVT::i64,// ->48052
23820/* 48032*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_and_64
23821/* 48034*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23822/* 48036*/ OPC_EmitMergeInputChains1_0,
23823/* 48037*/ OPC_EmitInteger, MVT::i32, 0,
23824/* 48040*/ OPC_EmitConvertToTarget, 2,
23825/* 48042*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
23826 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
23827 // Src: (atomic_load_and:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 11
23828 // Dst: (ATOMIC_RMW_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23829/* 48052*/ 0, // EndSwitchType
23830/* 48053*/ /*SwitchType*/ 93, MVT::i64,// ->48148
23831/* 48055*/ OPC_MoveParent,
23832/* 48056*/ OPC_RecordChild2, // #3 = $val
23833/* 48057*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->48125
23834/* 48060*/ OPC_Scope, 20, /*->48082*/ // 3 children in Scope
23835/* 48062*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_and_32
23836/* 48064*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23837/* 48066*/ OPC_EmitMergeInputChains1_0,
23838/* 48067*/ OPC_EmitInteger, MVT::i32, 0,
23839/* 48070*/ OPC_EmitConvertToTarget, 2,
23840/* 48072*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23841 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23842 // Src: (atomic_load_and:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 11
23843 // Dst: (ATOMIC_RMW_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23844/* 48082*/ /*Scope*/ 20, /*->48103*/
23845/* 48083*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
23846/* 48085*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23847/* 48087*/ OPC_EmitMergeInputChains1_0,
23848/* 48088*/ OPC_EmitInteger, MVT::i32, 0,
23849/* 48091*/ OPC_EmitConvertToTarget, 2,
23850/* 48093*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23851 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23852 // Src: (atomic_load_and:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 11
23853 // Dst: (ATOMIC_RMW8_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23854/* 48103*/ /*Scope*/ 20, /*->48124*/
23855/* 48104*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
23856/* 48106*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23857/* 48108*/ OPC_EmitMergeInputChains1_0,
23858/* 48109*/ OPC_EmitInteger, MVT::i32, 0,
23859/* 48112*/ OPC_EmitConvertToTarget, 2,
23860/* 48114*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23861 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23862 // Src: (atomic_load_and:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 11
23863 // Dst: (ATOMIC_RMW16_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
23864/* 48124*/ 0, /*End of Scope*/
23865/* 48125*/ /*SwitchType*/ 20, MVT::i64,// ->48147
23866/* 48127*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_and_64
23867/* 48129*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
23868/* 48131*/ OPC_EmitMergeInputChains1_0,
23869/* 48132*/ OPC_EmitInteger, MVT::i32, 0,
23870/* 48135*/ OPC_EmitConvertToTarget, 2,
23871/* 48137*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
23872 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
23873 // Src: (atomic_load_and:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 11
23874 // Dst: (ATOMIC_RMW_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
23875/* 48147*/ 0, // EndSwitchType
23876/* 48148*/ 0, // EndSwitchType
23877/* 48149*/ /*SwitchOpcode*/ 124|128,1/*252*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->48405
23878/* 48153*/ OPC_RecordChild0, // #1 = $off
23879/* 48154*/ OPC_MoveChild0,
23880/* 48155*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
23881/* 48158*/ OPC_MoveParent,
23882/* 48159*/ OPC_MoveParent,
23883/* 48160*/ OPC_RecordChild2, // #2 = $val
23884/* 48161*/ OPC_SwitchType /*2 cases */, 51|128,1/*179*/, MVT::i32,// ->48344
23885/* 48165*/ OPC_Scope, 58, /*->48225*/ // 3 children in Scope
23886/* 48167*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_and_32
23887/* 48169*/ OPC_Scope, 26, /*->48197*/ // 2 children in Scope
23888/* 48171*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
23889/* 48173*/ OPC_EmitMergeInputChains1_0,
23890/* 48174*/ OPC_EmitInteger, MVT::i32, 0,
23891/* 48177*/ OPC_EmitInteger, MVT::i32, 0,
23892/* 48180*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23893 MVT::i32, 1/*#Ops*/, 4, // Results = #5
23894/* 48187*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23895 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23896 // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 10
23897 // Dst: (ATOMIC_RMW_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23898/* 48197*/ /*Scope*/ 26, /*->48224*/
23899/* 48198*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
23900/* 48200*/ OPC_EmitMergeInputChains1_0,
23901/* 48201*/ OPC_EmitInteger, MVT::i32, 0,
23902/* 48204*/ OPC_EmitInteger, MVT::i64, 0,
23903/* 48207*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
23904 MVT::i64, 1/*#Ops*/, 4, // Results = #5
23905/* 48214*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23906 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23907 // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 10
23908 // Dst: (ATOMIC_RMW_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
23909/* 48224*/ 0, /*End of Scope*/
23910/* 48225*/ /*Scope*/ 58, /*->48284*/
23911/* 48226*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
23912/* 48228*/ OPC_Scope, 26, /*->48256*/ // 2 children in Scope
23913/* 48230*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
23914/* 48232*/ OPC_EmitMergeInputChains1_0,
23915/* 48233*/ OPC_EmitInteger, MVT::i32, 0,
23916/* 48236*/ OPC_EmitInteger, MVT::i32, 0,
23917/* 48239*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23918 MVT::i32, 1/*#Ops*/, 4, // Results = #5
23919/* 48246*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23920 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23921 // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 10
23922 // Dst: (ATOMIC_RMW8_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23923/* 48256*/ /*Scope*/ 26, /*->48283*/
23924/* 48257*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
23925/* 48259*/ OPC_EmitMergeInputChains1_0,
23926/* 48260*/ OPC_EmitInteger, MVT::i32, 0,
23927/* 48263*/ OPC_EmitInteger, MVT::i64, 0,
23928/* 48266*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
23929 MVT::i64, 1/*#Ops*/, 4, // Results = #5
23930/* 48273*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23931 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23932 // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 10
23933 // Dst: (ATOMIC_RMW8_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
23934/* 48283*/ 0, /*End of Scope*/
23935/* 48284*/ /*Scope*/ 58, /*->48343*/
23936/* 48285*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
23937/* 48287*/ OPC_Scope, 26, /*->48315*/ // 2 children in Scope
23938/* 48289*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
23939/* 48291*/ OPC_EmitMergeInputChains1_0,
23940/* 48292*/ OPC_EmitInteger, MVT::i32, 0,
23941/* 48295*/ OPC_EmitInteger, MVT::i32, 0,
23942/* 48298*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23943 MVT::i32, 1/*#Ops*/, 4, // Results = #5
23944/* 48305*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23945 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23946 // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 10
23947 // Dst: (ATOMIC_RMW16_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23948/* 48315*/ /*Scope*/ 26, /*->48342*/
23949/* 48316*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
23950/* 48318*/ OPC_EmitMergeInputChains1_0,
23951/* 48319*/ OPC_EmitInteger, MVT::i32, 0,
23952/* 48322*/ OPC_EmitInteger, MVT::i64, 0,
23953/* 48325*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
23954 MVT::i64, 1/*#Ops*/, 4, // Results = #5
23955/* 48332*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23956 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23957 // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 10
23958 // Dst: (ATOMIC_RMW16_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
23959/* 48342*/ 0, /*End of Scope*/
23960/* 48343*/ 0, /*End of Scope*/
23961/* 48344*/ /*SwitchType*/ 58, MVT::i64,// ->48404
23962/* 48346*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_and_64
23963/* 48348*/ OPC_Scope, 26, /*->48376*/ // 2 children in Scope
23964/* 48350*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
23965/* 48352*/ OPC_EmitMergeInputChains1_0,
23966/* 48353*/ OPC_EmitInteger, MVT::i32, 0,
23967/* 48356*/ OPC_EmitInteger, MVT::i32, 0,
23968/* 48359*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23969 MVT::i32, 1/*#Ops*/, 4, // Results = #5
23970/* 48366*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
23971 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
23972 // Src: (atomic_load_and:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 10
23973 // Dst: (ATOMIC_RMW_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
23974/* 48376*/ /*Scope*/ 26, /*->48403*/
23975/* 48377*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
23976/* 48379*/ OPC_EmitMergeInputChains1_0,
23977/* 48380*/ OPC_EmitInteger, MVT::i32, 0,
23978/* 48383*/ OPC_EmitInteger, MVT::i64, 0,
23979/* 48386*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
23980 MVT::i64, 1/*#Ops*/, 4, // Results = #5
23981/* 48393*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
23982 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
23983 // Src: (atomic_load_and:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 10
23984 // Dst: (ATOMIC_RMW_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
23985/* 48403*/ 0, /*End of Scope*/
23986/* 48404*/ 0, // EndSwitchType
23987/* 48405*/ 0, // EndSwitchOpcode
23988/* 48406*/ /*Scope*/ 85|128,3/*469*/, /*->48877*/
23989/* 48408*/ OPC_RecordChild1, // #1 = $off
23990/* 48409*/ OPC_Scope, 10|128,2/*266*/, /*->48678*/ // 3 children in Scope
23991/* 48412*/ OPC_MoveChild1,
23992/* 48413*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23993/* 48416*/ OPC_MoveParent,
23994/* 48417*/ OPC_RecordChild2, // #2 = $val
23995/* 48418*/ OPC_SwitchType /*2 cases */, 63|128,1/*191*/, MVT::i32,// ->48613
23996/* 48422*/ OPC_Scope, 62, /*->48486*/ // 3 children in Scope
23997/* 48424*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_and_32
23998/* 48426*/ OPC_Scope, 28, /*->48456*/ // 2 children in Scope
23999/* 48428*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24000/* 48430*/ OPC_EmitMergeInputChains1_0,
24001/* 48431*/ OPC_EmitInteger, MVT::i32, 0,
24002/* 48434*/ OPC_EmitConvertToTarget, 1,
24003/* 48436*/ OPC_EmitInteger, MVT::i32, 0,
24004/* 48439*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24005 MVT::i32, 1/*#Ops*/, 5, // Results = #6
24006/* 48446*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24007 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24008 // Src: (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 7
24009 // Dst: (ATOMIC_RMW_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24010/* 48456*/ /*Scope*/ 28, /*->48485*/
24011/* 48457*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24012/* 48459*/ OPC_EmitMergeInputChains1_0,
24013/* 48460*/ OPC_EmitInteger, MVT::i32, 0,
24014/* 48463*/ OPC_EmitConvertToTarget, 1,
24015/* 48465*/ OPC_EmitInteger, MVT::i64, 0,
24016/* 48468*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
24017 MVT::i64, 1/*#Ops*/, 5, // Results = #6
24018/* 48475*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24019 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24020 // Src: (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 7
24021 // Dst: (ATOMIC_RMW_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
24022/* 48485*/ 0, /*End of Scope*/
24023/* 48486*/ /*Scope*/ 62, /*->48549*/
24024/* 48487*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
24025/* 48489*/ OPC_Scope, 28, /*->48519*/ // 2 children in Scope
24026/* 48491*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24027/* 48493*/ OPC_EmitMergeInputChains1_0,
24028/* 48494*/ OPC_EmitInteger, MVT::i32, 0,
24029/* 48497*/ OPC_EmitConvertToTarget, 1,
24030/* 48499*/ OPC_EmitInteger, MVT::i32, 0,
24031/* 48502*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24032 MVT::i32, 1/*#Ops*/, 5, // Results = #6
24033/* 48509*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24034 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24035 // Src: (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 7
24036 // Dst: (ATOMIC_RMW8_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24037/* 48519*/ /*Scope*/ 28, /*->48548*/
24038/* 48520*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24039/* 48522*/ OPC_EmitMergeInputChains1_0,
24040/* 48523*/ OPC_EmitInteger, MVT::i32, 0,
24041/* 48526*/ OPC_EmitConvertToTarget, 1,
24042/* 48528*/ OPC_EmitInteger, MVT::i64, 0,
24043/* 48531*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
24044 MVT::i64, 1/*#Ops*/, 5, // Results = #6
24045/* 48538*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24046 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24047 // Src: (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 7
24048 // Dst: (ATOMIC_RMW8_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
24049/* 48548*/ 0, /*End of Scope*/
24050/* 48549*/ /*Scope*/ 62, /*->48612*/
24051/* 48550*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
24052/* 48552*/ OPC_Scope, 28, /*->48582*/ // 2 children in Scope
24053/* 48554*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24054/* 48556*/ OPC_EmitMergeInputChains1_0,
24055/* 48557*/ OPC_EmitInteger, MVT::i32, 0,
24056/* 48560*/ OPC_EmitConvertToTarget, 1,
24057/* 48562*/ OPC_EmitInteger, MVT::i32, 0,
24058/* 48565*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24059 MVT::i32, 1/*#Ops*/, 5, // Results = #6
24060/* 48572*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24061 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24062 // Src: (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 7
24063 // Dst: (ATOMIC_RMW16_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24064/* 48582*/ /*Scope*/ 28, /*->48611*/
24065/* 48583*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24066/* 48585*/ OPC_EmitMergeInputChains1_0,
24067/* 48586*/ OPC_EmitInteger, MVT::i32, 0,
24068/* 48589*/ OPC_EmitConvertToTarget, 1,
24069/* 48591*/ OPC_EmitInteger, MVT::i64, 0,
24070/* 48594*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
24071 MVT::i64, 1/*#Ops*/, 5, // Results = #6
24072/* 48601*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24073 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24074 // Src: (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 7
24075 // Dst: (ATOMIC_RMW16_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
24076/* 48611*/ 0, /*End of Scope*/
24077/* 48612*/ 0, /*End of Scope*/
24078/* 48613*/ /*SwitchType*/ 62, MVT::i64,// ->48677
24079/* 48615*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_and_64
24080/* 48617*/ OPC_Scope, 28, /*->48647*/ // 2 children in Scope
24081/* 48619*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24082/* 48621*/ OPC_EmitMergeInputChains1_0,
24083/* 48622*/ OPC_EmitInteger, MVT::i32, 0,
24084/* 48625*/ OPC_EmitConvertToTarget, 1,
24085/* 48627*/ OPC_EmitInteger, MVT::i32, 0,
24086/* 48630*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24087 MVT::i32, 1/*#Ops*/, 5, // Results = #6
24088/* 48637*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
24089 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
24090 // Src: (atomic_load_and:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 7
24091 // Dst: (ATOMIC_RMW_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
24092/* 48647*/ /*Scope*/ 28, /*->48676*/
24093/* 48648*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24094/* 48650*/ OPC_EmitMergeInputChains1_0,
24095/* 48651*/ OPC_EmitInteger, MVT::i32, 0,
24096/* 48654*/ OPC_EmitConvertToTarget, 1,
24097/* 48656*/ OPC_EmitInteger, MVT::i64, 0,
24098/* 48659*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
24099 MVT::i64, 1/*#Ops*/, 5, // Results = #6
24100/* 48666*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
24101 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
24102 // Src: (atomic_load_and:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 7
24103 // Dst: (ATOMIC_RMW_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
24104/* 48676*/ 0, /*End of Scope*/
24105/* 48677*/ 0, // EndSwitchType
24106/* 48678*/ /*Scope*/ 98, /*->48777*/
24107/* 48679*/ OPC_CheckChild1Type, MVT::i32,
24108/* 48681*/ OPC_RecordChild2, // #2 = $val
24109/* 48682*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->48753
24110/* 48685*/ OPC_Scope, 21, /*->48708*/ // 3 children in Scope
24111/* 48687*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_and_32
24112/* 48689*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24113/* 48691*/ OPC_EmitMergeInputChains1_0,
24114/* 48692*/ OPC_EmitInteger, MVT::i32, 0,
24115/* 48695*/ OPC_EmitInteger, MVT::i32, 0,
24116/* 48698*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24117 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24118 // Src: (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 4
24119 // Dst: (ATOMIC_RMW_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24120/* 48708*/ /*Scope*/ 21, /*->48730*/
24121/* 48709*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
24122/* 48711*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24123/* 48713*/ OPC_EmitMergeInputChains1_0,
24124/* 48714*/ OPC_EmitInteger, MVT::i32, 0,
24125/* 48717*/ OPC_EmitInteger, MVT::i32, 0,
24126/* 48720*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24127 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24128 // Src: (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 4
24129 // Dst: (ATOMIC_RMW8_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24130/* 48730*/ /*Scope*/ 21, /*->48752*/
24131/* 48731*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
24132/* 48733*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24133/* 48735*/ OPC_EmitMergeInputChains1_0,
24134/* 48736*/ OPC_EmitInteger, MVT::i32, 0,
24135/* 48739*/ OPC_EmitInteger, MVT::i32, 0,
24136/* 48742*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24137 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24138 // Src: (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 4
24139 // Dst: (ATOMIC_RMW16_U_AND_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24140/* 48752*/ 0, /*End of Scope*/
24141/* 48753*/ /*SwitchType*/ 21, MVT::i64,// ->48776
24142/* 48755*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_and_64
24143/* 48757*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24144/* 48759*/ OPC_EmitMergeInputChains1_0,
24145/* 48760*/ OPC_EmitInteger, MVT::i32, 0,
24146/* 48763*/ OPC_EmitInteger, MVT::i32, 0,
24147/* 48766*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
24148 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
24149 // Src: (atomic_load_and:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 4
24150 // Dst: (ATOMIC_RMW_AND_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24151/* 48776*/ 0, // EndSwitchType
24152/* 48777*/ /*Scope*/ 98, /*->48876*/
24153/* 48778*/ OPC_CheckChild1Type, MVT::i64,
24154/* 48780*/ OPC_RecordChild2, // #2 = $val
24155/* 48781*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->48852
24156/* 48784*/ OPC_Scope, 21, /*->48807*/ // 3 children in Scope
24157/* 48786*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_and_32
24158/* 48788*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24159/* 48790*/ OPC_EmitMergeInputChains1_0,
24160/* 48791*/ OPC_EmitInteger, MVT::i32, 0,
24161/* 48794*/ OPC_EmitInteger, MVT::i64, 0,
24162/* 48797*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24163 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24164 // Src: (atomic_load_and:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 4
24165 // Dst: (ATOMIC_RMW_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24166/* 48807*/ /*Scope*/ 21, /*->48829*/
24167/* 48808*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
24168/* 48810*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24169/* 48812*/ OPC_EmitMergeInputChains1_0,
24170/* 48813*/ OPC_EmitInteger, MVT::i32, 0,
24171/* 48816*/ OPC_EmitInteger, MVT::i64, 0,
24172/* 48819*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24173 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24174 // Src: (atomic_load_and:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 4
24175 // Dst: (ATOMIC_RMW8_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24176/* 48829*/ /*Scope*/ 21, /*->48851*/
24177/* 48830*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
24178/* 48832*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24179/* 48834*/ OPC_EmitMergeInputChains1_0,
24180/* 48835*/ OPC_EmitInteger, MVT::i32, 0,
24181/* 48838*/ OPC_EmitInteger, MVT::i64, 0,
24182/* 48841*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24183 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24184 // Src: (atomic_load_and:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 4
24185 // Dst: (ATOMIC_RMW16_U_AND_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24186/* 48851*/ 0, /*End of Scope*/
24187/* 48852*/ /*SwitchType*/ 21, MVT::i64,// ->48875
24188/* 48854*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_and_64
24189/* 48856*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24190/* 48858*/ OPC_EmitMergeInputChains1_0,
24191/* 48859*/ OPC_EmitInteger, MVT::i32, 0,
24192/* 48862*/ OPC_EmitInteger, MVT::i64, 0,
24193/* 48865*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
24194 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
24195 // Src: (atomic_load_and:{ *:[i64] } I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 4
24196 // Dst: (ATOMIC_RMW_AND_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
24197/* 48875*/ 0, // EndSwitchType
24198/* 48876*/ 0, /*End of Scope*/
24199/* 48877*/ 0, /*End of Scope*/
24200/* 48878*/ /*SwitchOpcode*/ 122|128,8/*1146*/, TARGET_VAL(ISD::ATOMIC_LOAD_OR),// ->50028
24201/* 48882*/ OPC_RecordMemRef,
24202/* 48883*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
24203/* 48884*/ OPC_Scope, 29|128,5/*669*/, /*->49556*/ // 2 children in Scope
24204/* 48887*/ OPC_MoveChild1,
24205/* 48888*/ OPC_SwitchOpcode /*3 cases */, 73|128,1/*201*/, TARGET_VAL(ISD::ADD),// ->49094
24206/* 48893*/ OPC_RecordChild0, // #1 = $addr
24207/* 48894*/ OPC_RecordChild1, // #2 = $off
24208/* 48895*/ OPC_MoveChild1,
24209/* 48896*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24210/* 48899*/ OPC_MoveParent,
24211/* 48900*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
24212/* 48902*/ OPC_SwitchType /*2 cases */, 93, MVT::i32,// ->48998
24213/* 48905*/ OPC_MoveParent,
24214/* 48906*/ OPC_RecordChild2, // #3 = $val
24215/* 48907*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->48975
24216/* 48910*/ OPC_Scope, 20, /*->48932*/ // 3 children in Scope
24217/* 48912*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_or_32
24218/* 48914*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24219/* 48916*/ OPC_EmitMergeInputChains1_0,
24220/* 48917*/ OPC_EmitInteger, MVT::i32, 0,
24221/* 48920*/ OPC_EmitConvertToTarget, 2,
24222/* 48922*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24223 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24224 // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 11
24225 // Dst: (ATOMIC_RMW_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24226/* 48932*/ /*Scope*/ 20, /*->48953*/
24227/* 48933*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
24228/* 48935*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24229/* 48937*/ OPC_EmitMergeInputChains1_0,
24230/* 48938*/ OPC_EmitInteger, MVT::i32, 0,
24231/* 48941*/ OPC_EmitConvertToTarget, 2,
24232/* 48943*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24233 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24234 // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 11
24235 // Dst: (ATOMIC_RMW8_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24236/* 48953*/ /*Scope*/ 20, /*->48974*/
24237/* 48954*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
24238/* 48956*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24239/* 48958*/ OPC_EmitMergeInputChains1_0,
24240/* 48959*/ OPC_EmitInteger, MVT::i32, 0,
24241/* 48962*/ OPC_EmitConvertToTarget, 2,
24242/* 48964*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24243 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24244 // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 11
24245 // Dst: (ATOMIC_RMW16_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24246/* 48974*/ 0, /*End of Scope*/
24247/* 48975*/ /*SwitchType*/ 20, MVT::i64,// ->48997
24248/* 48977*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_or_64
24249/* 48979*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24250/* 48981*/ OPC_EmitMergeInputChains1_0,
24251/* 48982*/ OPC_EmitInteger, MVT::i32, 0,
24252/* 48985*/ OPC_EmitConvertToTarget, 2,
24253/* 48987*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
24254 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
24255 // Src: (atomic_load_or:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 11
24256 // Dst: (ATOMIC_RMW_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24257/* 48997*/ 0, // EndSwitchType
24258/* 48998*/ /*SwitchType*/ 93, MVT::i64,// ->49093
24259/* 49000*/ OPC_MoveParent,
24260/* 49001*/ OPC_RecordChild2, // #3 = $val
24261/* 49002*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->49070
24262/* 49005*/ OPC_Scope, 20, /*->49027*/ // 3 children in Scope
24263/* 49007*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_or_32
24264/* 49009*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24265/* 49011*/ OPC_EmitMergeInputChains1_0,
24266/* 49012*/ OPC_EmitInteger, MVT::i32, 0,
24267/* 49015*/ OPC_EmitConvertToTarget, 2,
24268/* 49017*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24269 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24270 // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 11
24271 // Dst: (ATOMIC_RMW_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24272/* 49027*/ /*Scope*/ 20, /*->49048*/
24273/* 49028*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
24274/* 49030*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24275/* 49032*/ OPC_EmitMergeInputChains1_0,
24276/* 49033*/ OPC_EmitInteger, MVT::i32, 0,
24277/* 49036*/ OPC_EmitConvertToTarget, 2,
24278/* 49038*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24279 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24280 // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 11
24281 // Dst: (ATOMIC_RMW8_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24282/* 49048*/ /*Scope*/ 20, /*->49069*/
24283/* 49049*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
24284/* 49051*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24285/* 49053*/ OPC_EmitMergeInputChains1_0,
24286/* 49054*/ OPC_EmitInteger, MVT::i32, 0,
24287/* 49057*/ OPC_EmitConvertToTarget, 2,
24288/* 49059*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24289 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24290 // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 11
24291 // Dst: (ATOMIC_RMW16_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24292/* 49069*/ 0, /*End of Scope*/
24293/* 49070*/ /*SwitchType*/ 20, MVT::i64,// ->49092
24294/* 49072*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_or_64
24295/* 49074*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24296/* 49076*/ OPC_EmitMergeInputChains1_0,
24297/* 49077*/ OPC_EmitInteger, MVT::i32, 0,
24298/* 49080*/ OPC_EmitConvertToTarget, 2,
24299/* 49082*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
24300 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
24301 // Src: (atomic_load_or:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 11
24302 // Dst: (ATOMIC_RMW_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
24303/* 49092*/ 0, // EndSwitchType
24304/* 49093*/ 0, // EndSwitchType
24305/* 49094*/ /*SwitchOpcode*/ 73|128,1/*201*/, TARGET_VAL(ISD::OR),// ->49299
24306/* 49098*/ OPC_RecordChild0, // #1 = $addr
24307/* 49099*/ OPC_RecordChild1, // #2 = $off
24308/* 49100*/ OPC_MoveChild1,
24309/* 49101*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24310/* 49104*/ OPC_MoveParent,
24311/* 49105*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
24312/* 49107*/ OPC_SwitchType /*2 cases */, 93, MVT::i32,// ->49203
24313/* 49110*/ OPC_MoveParent,
24314/* 49111*/ OPC_RecordChild2, // #3 = $val
24315/* 49112*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->49180
24316/* 49115*/ OPC_Scope, 20, /*->49137*/ // 3 children in Scope
24317/* 49117*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_or_32
24318/* 49119*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24319/* 49121*/ OPC_EmitMergeInputChains1_0,
24320/* 49122*/ OPC_EmitInteger, MVT::i32, 0,
24321/* 49125*/ OPC_EmitConvertToTarget, 2,
24322/* 49127*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24323 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24324 // Src: (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 11
24325 // Dst: (ATOMIC_RMW_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24326/* 49137*/ /*Scope*/ 20, /*->49158*/
24327/* 49138*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
24328/* 49140*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24329/* 49142*/ OPC_EmitMergeInputChains1_0,
24330/* 49143*/ OPC_EmitInteger, MVT::i32, 0,
24331/* 49146*/ OPC_EmitConvertToTarget, 2,
24332/* 49148*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24333 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24334 // Src: (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 11
24335 // Dst: (ATOMIC_RMW8_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24336/* 49158*/ /*Scope*/ 20, /*->49179*/
24337/* 49159*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
24338/* 49161*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24339/* 49163*/ OPC_EmitMergeInputChains1_0,
24340/* 49164*/ OPC_EmitInteger, MVT::i32, 0,
24341/* 49167*/ OPC_EmitConvertToTarget, 2,
24342/* 49169*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24343 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24344 // Src: (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 11
24345 // Dst: (ATOMIC_RMW16_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24346/* 49179*/ 0, /*End of Scope*/
24347/* 49180*/ /*SwitchType*/ 20, MVT::i64,// ->49202
24348/* 49182*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_or_64
24349/* 49184*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24350/* 49186*/ OPC_EmitMergeInputChains1_0,
24351/* 49187*/ OPC_EmitInteger, MVT::i32, 0,
24352/* 49190*/ OPC_EmitConvertToTarget, 2,
24353/* 49192*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
24354 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
24355 // Src: (atomic_load_or:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 11
24356 // Dst: (ATOMIC_RMW_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24357/* 49202*/ 0, // EndSwitchType
24358/* 49203*/ /*SwitchType*/ 93, MVT::i64,// ->49298
24359/* 49205*/ OPC_MoveParent,
24360/* 49206*/ OPC_RecordChild2, // #3 = $val
24361/* 49207*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->49275
24362/* 49210*/ OPC_Scope, 20, /*->49232*/ // 3 children in Scope
24363/* 49212*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_or_32
24364/* 49214*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24365/* 49216*/ OPC_EmitMergeInputChains1_0,
24366/* 49217*/ OPC_EmitInteger, MVT::i32, 0,
24367/* 49220*/ OPC_EmitConvertToTarget, 2,
24368/* 49222*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24369 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24370 // Src: (atomic_load_or:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 11
24371 // Dst: (ATOMIC_RMW_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24372/* 49232*/ /*Scope*/ 20, /*->49253*/
24373/* 49233*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
24374/* 49235*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24375/* 49237*/ OPC_EmitMergeInputChains1_0,
24376/* 49238*/ OPC_EmitInteger, MVT::i32, 0,
24377/* 49241*/ OPC_EmitConvertToTarget, 2,
24378/* 49243*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24379 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24380 // Src: (atomic_load_or:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 11
24381 // Dst: (ATOMIC_RMW8_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24382/* 49253*/ /*Scope*/ 20, /*->49274*/
24383/* 49254*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
24384/* 49256*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24385/* 49258*/ OPC_EmitMergeInputChains1_0,
24386/* 49259*/ OPC_EmitInteger, MVT::i32, 0,
24387/* 49262*/ OPC_EmitConvertToTarget, 2,
24388/* 49264*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24389 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24390 // Src: (atomic_load_or:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 11
24391 // Dst: (ATOMIC_RMW16_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24392/* 49274*/ 0, /*End of Scope*/
24393/* 49275*/ /*SwitchType*/ 20, MVT::i64,// ->49297
24394/* 49277*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_or_64
24395/* 49279*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24396/* 49281*/ OPC_EmitMergeInputChains1_0,
24397/* 49282*/ OPC_EmitInteger, MVT::i32, 0,
24398/* 49285*/ OPC_EmitConvertToTarget, 2,
24399/* 49287*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
24400 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
24401 // Src: (atomic_load_or:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 11
24402 // Dst: (ATOMIC_RMW_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
24403/* 49297*/ 0, // EndSwitchType
24404/* 49298*/ 0, // EndSwitchType
24405/* 49299*/ /*SwitchOpcode*/ 124|128,1/*252*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->49555
24406/* 49303*/ OPC_RecordChild0, // #1 = $off
24407/* 49304*/ OPC_MoveChild0,
24408/* 49305*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
24409/* 49308*/ OPC_MoveParent,
24410/* 49309*/ OPC_MoveParent,
24411/* 49310*/ OPC_RecordChild2, // #2 = $val
24412/* 49311*/ OPC_SwitchType /*2 cases */, 51|128,1/*179*/, MVT::i32,// ->49494
24413/* 49315*/ OPC_Scope, 58, /*->49375*/ // 3 children in Scope
24414/* 49317*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_or_32
24415/* 49319*/ OPC_Scope, 26, /*->49347*/ // 2 children in Scope
24416/* 49321*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
24417/* 49323*/ OPC_EmitMergeInputChains1_0,
24418/* 49324*/ OPC_EmitInteger, MVT::i32, 0,
24419/* 49327*/ OPC_EmitInteger, MVT::i32, 0,
24420/* 49330*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24421 MVT::i32, 1/*#Ops*/, 4, // Results = #5
24422/* 49337*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24423 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24424 // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 10
24425 // Dst: (ATOMIC_RMW_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24426/* 49347*/ /*Scope*/ 26, /*->49374*/
24427/* 49348*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
24428/* 49350*/ OPC_EmitMergeInputChains1_0,
24429/* 49351*/ OPC_EmitInteger, MVT::i32, 0,
24430/* 49354*/ OPC_EmitInteger, MVT::i64, 0,
24431/* 49357*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
24432 MVT::i64, 1/*#Ops*/, 4, // Results = #5
24433/* 49364*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24434 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24435 // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 10
24436 // Dst: (ATOMIC_RMW_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
24437/* 49374*/ 0, /*End of Scope*/
24438/* 49375*/ /*Scope*/ 58, /*->49434*/
24439/* 49376*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
24440/* 49378*/ OPC_Scope, 26, /*->49406*/ // 2 children in Scope
24441/* 49380*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
24442/* 49382*/ OPC_EmitMergeInputChains1_0,
24443/* 49383*/ OPC_EmitInteger, MVT::i32, 0,
24444/* 49386*/ OPC_EmitInteger, MVT::i32, 0,
24445/* 49389*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24446 MVT::i32, 1/*#Ops*/, 4, // Results = #5
24447/* 49396*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24448 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24449 // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 10
24450 // Dst: (ATOMIC_RMW8_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24451/* 49406*/ /*Scope*/ 26, /*->49433*/
24452/* 49407*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
24453/* 49409*/ OPC_EmitMergeInputChains1_0,
24454/* 49410*/ OPC_EmitInteger, MVT::i32, 0,
24455/* 49413*/ OPC_EmitInteger, MVT::i64, 0,
24456/* 49416*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
24457 MVT::i64, 1/*#Ops*/, 4, // Results = #5
24458/* 49423*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24459 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24460 // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 10
24461 // Dst: (ATOMIC_RMW8_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
24462/* 49433*/ 0, /*End of Scope*/
24463/* 49434*/ /*Scope*/ 58, /*->49493*/
24464/* 49435*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
24465/* 49437*/ OPC_Scope, 26, /*->49465*/ // 2 children in Scope
24466/* 49439*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
24467/* 49441*/ OPC_EmitMergeInputChains1_0,
24468/* 49442*/ OPC_EmitInteger, MVT::i32, 0,
24469/* 49445*/ OPC_EmitInteger, MVT::i32, 0,
24470/* 49448*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24471 MVT::i32, 1/*#Ops*/, 4, // Results = #5
24472/* 49455*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24473 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24474 // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 10
24475 // Dst: (ATOMIC_RMW16_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24476/* 49465*/ /*Scope*/ 26, /*->49492*/
24477/* 49466*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
24478/* 49468*/ OPC_EmitMergeInputChains1_0,
24479/* 49469*/ OPC_EmitInteger, MVT::i32, 0,
24480/* 49472*/ OPC_EmitInteger, MVT::i64, 0,
24481/* 49475*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
24482 MVT::i64, 1/*#Ops*/, 4, // Results = #5
24483/* 49482*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24484 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24485 // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 10
24486 // Dst: (ATOMIC_RMW16_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
24487/* 49492*/ 0, /*End of Scope*/
24488/* 49493*/ 0, /*End of Scope*/
24489/* 49494*/ /*SwitchType*/ 58, MVT::i64,// ->49554
24490/* 49496*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_or_64
24491/* 49498*/ OPC_Scope, 26, /*->49526*/ // 2 children in Scope
24492/* 49500*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
24493/* 49502*/ OPC_EmitMergeInputChains1_0,
24494/* 49503*/ OPC_EmitInteger, MVT::i32, 0,
24495/* 49506*/ OPC_EmitInteger, MVT::i32, 0,
24496/* 49509*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24497 MVT::i32, 1/*#Ops*/, 4, // Results = #5
24498/* 49516*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
24499 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
24500 // Src: (atomic_load_or:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 10
24501 // Dst: (ATOMIC_RMW_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
24502/* 49526*/ /*Scope*/ 26, /*->49553*/
24503/* 49527*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
24504/* 49529*/ OPC_EmitMergeInputChains1_0,
24505/* 49530*/ OPC_EmitInteger, MVT::i32, 0,
24506/* 49533*/ OPC_EmitInteger, MVT::i64, 0,
24507/* 49536*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
24508 MVT::i64, 1/*#Ops*/, 4, // Results = #5
24509/* 49543*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
24510 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
24511 // Src: (atomic_load_or:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 10
24512 // Dst: (ATOMIC_RMW_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
24513/* 49553*/ 0, /*End of Scope*/
24514/* 49554*/ 0, // EndSwitchType
24515/* 49555*/ 0, // EndSwitchOpcode
24516/* 49556*/ /*Scope*/ 85|128,3/*469*/, /*->50027*/
24517/* 49558*/ OPC_RecordChild1, // #1 = $off
24518/* 49559*/ OPC_Scope, 10|128,2/*266*/, /*->49828*/ // 3 children in Scope
24519/* 49562*/ OPC_MoveChild1,
24520/* 49563*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24521/* 49566*/ OPC_MoveParent,
24522/* 49567*/ OPC_RecordChild2, // #2 = $val
24523/* 49568*/ OPC_SwitchType /*2 cases */, 63|128,1/*191*/, MVT::i32,// ->49763
24524/* 49572*/ OPC_Scope, 62, /*->49636*/ // 3 children in Scope
24525/* 49574*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_or_32
24526/* 49576*/ OPC_Scope, 28, /*->49606*/ // 2 children in Scope
24527/* 49578*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24528/* 49580*/ OPC_EmitMergeInputChains1_0,
24529/* 49581*/ OPC_EmitInteger, MVT::i32, 0,
24530/* 49584*/ OPC_EmitConvertToTarget, 1,
24531/* 49586*/ OPC_EmitInteger, MVT::i32, 0,
24532/* 49589*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24533 MVT::i32, 1/*#Ops*/, 5, // Results = #6
24534/* 49596*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24535 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24536 // Src: (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 7
24537 // Dst: (ATOMIC_RMW_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24538/* 49606*/ /*Scope*/ 28, /*->49635*/
24539/* 49607*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24540/* 49609*/ OPC_EmitMergeInputChains1_0,
24541/* 49610*/ OPC_EmitInteger, MVT::i32, 0,
24542/* 49613*/ OPC_EmitConvertToTarget, 1,
24543/* 49615*/ OPC_EmitInteger, MVT::i64, 0,
24544/* 49618*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
24545 MVT::i64, 1/*#Ops*/, 5, // Results = #6
24546/* 49625*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24547 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24548 // Src: (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 7
24549 // Dst: (ATOMIC_RMW_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
24550/* 49635*/ 0, /*End of Scope*/
24551/* 49636*/ /*Scope*/ 62, /*->49699*/
24552/* 49637*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
24553/* 49639*/ OPC_Scope, 28, /*->49669*/ // 2 children in Scope
24554/* 49641*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24555/* 49643*/ OPC_EmitMergeInputChains1_0,
24556/* 49644*/ OPC_EmitInteger, MVT::i32, 0,
24557/* 49647*/ OPC_EmitConvertToTarget, 1,
24558/* 49649*/ OPC_EmitInteger, MVT::i32, 0,
24559/* 49652*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24560 MVT::i32, 1/*#Ops*/, 5, // Results = #6
24561/* 49659*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24562 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24563 // Src: (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 7
24564 // Dst: (ATOMIC_RMW8_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24565/* 49669*/ /*Scope*/ 28, /*->49698*/
24566/* 49670*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24567/* 49672*/ OPC_EmitMergeInputChains1_0,
24568/* 49673*/ OPC_EmitInteger, MVT::i32, 0,
24569/* 49676*/ OPC_EmitConvertToTarget, 1,
24570/* 49678*/ OPC_EmitInteger, MVT::i64, 0,
24571/* 49681*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
24572 MVT::i64, 1/*#Ops*/, 5, // Results = #6
24573/* 49688*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24574 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24575 // Src: (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 7
24576 // Dst: (ATOMIC_RMW8_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
24577/* 49698*/ 0, /*End of Scope*/
24578/* 49699*/ /*Scope*/ 62, /*->49762*/
24579/* 49700*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
24580/* 49702*/ OPC_Scope, 28, /*->49732*/ // 2 children in Scope
24581/* 49704*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24582/* 49706*/ OPC_EmitMergeInputChains1_0,
24583/* 49707*/ OPC_EmitInteger, MVT::i32, 0,
24584/* 49710*/ OPC_EmitConvertToTarget, 1,
24585/* 49712*/ OPC_EmitInteger, MVT::i32, 0,
24586/* 49715*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24587 MVT::i32, 1/*#Ops*/, 5, // Results = #6
24588/* 49722*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24589 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24590 // Src: (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 7
24591 // Dst: (ATOMIC_RMW16_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24592/* 49732*/ /*Scope*/ 28, /*->49761*/
24593/* 49733*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24594/* 49735*/ OPC_EmitMergeInputChains1_0,
24595/* 49736*/ OPC_EmitInteger, MVT::i32, 0,
24596/* 49739*/ OPC_EmitConvertToTarget, 1,
24597/* 49741*/ OPC_EmitInteger, MVT::i64, 0,
24598/* 49744*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
24599 MVT::i64, 1/*#Ops*/, 5, // Results = #6
24600/* 49751*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24601 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24602 // Src: (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 7
24603 // Dst: (ATOMIC_RMW16_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
24604/* 49761*/ 0, /*End of Scope*/
24605/* 49762*/ 0, /*End of Scope*/
24606/* 49763*/ /*SwitchType*/ 62, MVT::i64,// ->49827
24607/* 49765*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_or_64
24608/* 49767*/ OPC_Scope, 28, /*->49797*/ // 2 children in Scope
24609/* 49769*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24610/* 49771*/ OPC_EmitMergeInputChains1_0,
24611/* 49772*/ OPC_EmitInteger, MVT::i32, 0,
24612/* 49775*/ OPC_EmitConvertToTarget, 1,
24613/* 49777*/ OPC_EmitInteger, MVT::i32, 0,
24614/* 49780*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24615 MVT::i32, 1/*#Ops*/, 5, // Results = #6
24616/* 49787*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
24617 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
24618 // Src: (atomic_load_or:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 7
24619 // Dst: (ATOMIC_RMW_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
24620/* 49797*/ /*Scope*/ 28, /*->49826*/
24621/* 49798*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24622/* 49800*/ OPC_EmitMergeInputChains1_0,
24623/* 49801*/ OPC_EmitInteger, MVT::i32, 0,
24624/* 49804*/ OPC_EmitConvertToTarget, 1,
24625/* 49806*/ OPC_EmitInteger, MVT::i64, 0,
24626/* 49809*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
24627 MVT::i64, 1/*#Ops*/, 5, // Results = #6
24628/* 49816*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
24629 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
24630 // Src: (atomic_load_or:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 7
24631 // Dst: (ATOMIC_RMW_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
24632/* 49826*/ 0, /*End of Scope*/
24633/* 49827*/ 0, // EndSwitchType
24634/* 49828*/ /*Scope*/ 98, /*->49927*/
24635/* 49829*/ OPC_CheckChild1Type, MVT::i32,
24636/* 49831*/ OPC_RecordChild2, // #2 = $val
24637/* 49832*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->49903
24638/* 49835*/ OPC_Scope, 21, /*->49858*/ // 3 children in Scope
24639/* 49837*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_or_32
24640/* 49839*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24641/* 49841*/ OPC_EmitMergeInputChains1_0,
24642/* 49842*/ OPC_EmitInteger, MVT::i32, 0,
24643/* 49845*/ OPC_EmitInteger, MVT::i32, 0,
24644/* 49848*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24645 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24646 // Src: (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 4
24647 // Dst: (ATOMIC_RMW_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24648/* 49858*/ /*Scope*/ 21, /*->49880*/
24649/* 49859*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
24650/* 49861*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24651/* 49863*/ OPC_EmitMergeInputChains1_0,
24652/* 49864*/ OPC_EmitInteger, MVT::i32, 0,
24653/* 49867*/ OPC_EmitInteger, MVT::i32, 0,
24654/* 49870*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24655 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24656 // Src: (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 4
24657 // Dst: (ATOMIC_RMW8_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24658/* 49880*/ /*Scope*/ 21, /*->49902*/
24659/* 49881*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
24660/* 49883*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24661/* 49885*/ OPC_EmitMergeInputChains1_0,
24662/* 49886*/ OPC_EmitInteger, MVT::i32, 0,
24663/* 49889*/ OPC_EmitInteger, MVT::i32, 0,
24664/* 49892*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24665 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24666 // Src: (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 4
24667 // Dst: (ATOMIC_RMW16_U_OR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24668/* 49902*/ 0, /*End of Scope*/
24669/* 49903*/ /*SwitchType*/ 21, MVT::i64,// ->49926
24670/* 49905*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_or_64
24671/* 49907*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24672/* 49909*/ OPC_EmitMergeInputChains1_0,
24673/* 49910*/ OPC_EmitInteger, MVT::i32, 0,
24674/* 49913*/ OPC_EmitInteger, MVT::i32, 0,
24675/* 49916*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
24676 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
24677 // Src: (atomic_load_or:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 4
24678 // Dst: (ATOMIC_RMW_OR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24679/* 49926*/ 0, // EndSwitchType
24680/* 49927*/ /*Scope*/ 98, /*->50026*/
24681/* 49928*/ OPC_CheckChild1Type, MVT::i64,
24682/* 49930*/ OPC_RecordChild2, // #2 = $val
24683/* 49931*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->50002
24684/* 49934*/ OPC_Scope, 21, /*->49957*/ // 3 children in Scope
24685/* 49936*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_or_32
24686/* 49938*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24687/* 49940*/ OPC_EmitMergeInputChains1_0,
24688/* 49941*/ OPC_EmitInteger, MVT::i32, 0,
24689/* 49944*/ OPC_EmitInteger, MVT::i64, 0,
24690/* 49947*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24691 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24692 // Src: (atomic_load_or:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 4
24693 // Dst: (ATOMIC_RMW_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24694/* 49957*/ /*Scope*/ 21, /*->49979*/
24695/* 49958*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
24696/* 49960*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24697/* 49962*/ OPC_EmitMergeInputChains1_0,
24698/* 49963*/ OPC_EmitInteger, MVT::i32, 0,
24699/* 49966*/ OPC_EmitInteger, MVT::i64, 0,
24700/* 49969*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24701 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24702 // Src: (atomic_load_or:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 4
24703 // Dst: (ATOMIC_RMW8_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24704/* 49979*/ /*Scope*/ 21, /*->50001*/
24705/* 49980*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
24706/* 49982*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24707/* 49984*/ OPC_EmitMergeInputChains1_0,
24708/* 49985*/ OPC_EmitInteger, MVT::i32, 0,
24709/* 49988*/ OPC_EmitInteger, MVT::i64, 0,
24710/* 49991*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24711 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24712 // Src: (atomic_load_or:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 4
24713 // Dst: (ATOMIC_RMW16_U_OR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24714/* 50001*/ 0, /*End of Scope*/
24715/* 50002*/ /*SwitchType*/ 21, MVT::i64,// ->50025
24716/* 50004*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_or_64
24717/* 50006*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24718/* 50008*/ OPC_EmitMergeInputChains1_0,
24719/* 50009*/ OPC_EmitInteger, MVT::i32, 0,
24720/* 50012*/ OPC_EmitInteger, MVT::i64, 0,
24721/* 50015*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
24722 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
24723 // Src: (atomic_load_or:{ *:[i64] } I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 4
24724 // Dst: (ATOMIC_RMW_OR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
24725/* 50025*/ 0, // EndSwitchType
24726/* 50026*/ 0, /*End of Scope*/
24727/* 50027*/ 0, /*End of Scope*/
24728/* 50028*/ /*SwitchOpcode*/ 122|128,8/*1146*/, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),// ->51178
24729/* 50032*/ OPC_RecordMemRef,
24730/* 50033*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
24731/* 50034*/ OPC_Scope, 29|128,5/*669*/, /*->50706*/ // 2 children in Scope
24732/* 50037*/ OPC_MoveChild1,
24733/* 50038*/ OPC_SwitchOpcode /*3 cases */, 73|128,1/*201*/, TARGET_VAL(ISD::ADD),// ->50244
24734/* 50043*/ OPC_RecordChild0, // #1 = $addr
24735/* 50044*/ OPC_RecordChild1, // #2 = $off
24736/* 50045*/ OPC_MoveChild1,
24737/* 50046*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24738/* 50049*/ OPC_MoveParent,
24739/* 50050*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
24740/* 50052*/ OPC_SwitchType /*2 cases */, 93, MVT::i32,// ->50148
24741/* 50055*/ OPC_MoveParent,
24742/* 50056*/ OPC_RecordChild2, // #3 = $val
24743/* 50057*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->50125
24744/* 50060*/ OPC_Scope, 20, /*->50082*/ // 3 children in Scope
24745/* 50062*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_32
24746/* 50064*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24747/* 50066*/ OPC_EmitMergeInputChains1_0,
24748/* 50067*/ OPC_EmitInteger, MVT::i32, 0,
24749/* 50070*/ OPC_EmitConvertToTarget, 2,
24750/* 50072*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24751 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24752 // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 11
24753 // Dst: (ATOMIC_RMW_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24754/* 50082*/ /*Scope*/ 20, /*->50103*/
24755/* 50083*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
24756/* 50085*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24757/* 50087*/ OPC_EmitMergeInputChains1_0,
24758/* 50088*/ OPC_EmitInteger, MVT::i32, 0,
24759/* 50091*/ OPC_EmitConvertToTarget, 2,
24760/* 50093*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24761 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24762 // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 11
24763 // Dst: (ATOMIC_RMW8_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24764/* 50103*/ /*Scope*/ 20, /*->50124*/
24765/* 50104*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
24766/* 50106*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24767/* 50108*/ OPC_EmitMergeInputChains1_0,
24768/* 50109*/ OPC_EmitInteger, MVT::i32, 0,
24769/* 50112*/ OPC_EmitConvertToTarget, 2,
24770/* 50114*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24771 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24772 // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 11
24773 // Dst: (ATOMIC_RMW16_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24774/* 50124*/ 0, /*End of Scope*/
24775/* 50125*/ /*SwitchType*/ 20, MVT::i64,// ->50147
24776/* 50127*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_xor_64
24777/* 50129*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24778/* 50131*/ OPC_EmitMergeInputChains1_0,
24779/* 50132*/ OPC_EmitInteger, MVT::i32, 0,
24780/* 50135*/ OPC_EmitConvertToTarget, 2,
24781/* 50137*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
24782 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
24783 // Src: (atomic_load_xor:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 11
24784 // Dst: (ATOMIC_RMW_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24785/* 50147*/ 0, // EndSwitchType
24786/* 50148*/ /*SwitchType*/ 93, MVT::i64,// ->50243
24787/* 50150*/ OPC_MoveParent,
24788/* 50151*/ OPC_RecordChild2, // #3 = $val
24789/* 50152*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->50220
24790/* 50155*/ OPC_Scope, 20, /*->50177*/ // 3 children in Scope
24791/* 50157*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_32
24792/* 50159*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24793/* 50161*/ OPC_EmitMergeInputChains1_0,
24794/* 50162*/ OPC_EmitInteger, MVT::i32, 0,
24795/* 50165*/ OPC_EmitConvertToTarget, 2,
24796/* 50167*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24797 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24798 // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 11
24799 // Dst: (ATOMIC_RMW_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24800/* 50177*/ /*Scope*/ 20, /*->50198*/
24801/* 50178*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
24802/* 50180*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24803/* 50182*/ OPC_EmitMergeInputChains1_0,
24804/* 50183*/ OPC_EmitInteger, MVT::i32, 0,
24805/* 50186*/ OPC_EmitConvertToTarget, 2,
24806/* 50188*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24807 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24808 // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 11
24809 // Dst: (ATOMIC_RMW8_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24810/* 50198*/ /*Scope*/ 20, /*->50219*/
24811/* 50199*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
24812/* 50201*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24813/* 50203*/ OPC_EmitMergeInputChains1_0,
24814/* 50204*/ OPC_EmitInteger, MVT::i32, 0,
24815/* 50207*/ OPC_EmitConvertToTarget, 2,
24816/* 50209*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24817 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24818 // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 11
24819 // Dst: (ATOMIC_RMW16_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24820/* 50219*/ 0, /*End of Scope*/
24821/* 50220*/ /*SwitchType*/ 20, MVT::i64,// ->50242
24822/* 50222*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_xor_64
24823/* 50224*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24824/* 50226*/ OPC_EmitMergeInputChains1_0,
24825/* 50227*/ OPC_EmitInteger, MVT::i32, 0,
24826/* 50230*/ OPC_EmitConvertToTarget, 2,
24827/* 50232*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
24828 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
24829 // Src: (atomic_load_xor:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 11
24830 // Dst: (ATOMIC_RMW_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
24831/* 50242*/ 0, // EndSwitchType
24832/* 50243*/ 0, // EndSwitchType
24833/* 50244*/ /*SwitchOpcode*/ 73|128,1/*201*/, TARGET_VAL(ISD::OR),// ->50449
24834/* 50248*/ OPC_RecordChild0, // #1 = $addr
24835/* 50249*/ OPC_RecordChild1, // #2 = $off
24836/* 50250*/ OPC_MoveChild1,
24837/* 50251*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24838/* 50254*/ OPC_MoveParent,
24839/* 50255*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
24840/* 50257*/ OPC_SwitchType /*2 cases */, 93, MVT::i32,// ->50353
24841/* 50260*/ OPC_MoveParent,
24842/* 50261*/ OPC_RecordChild2, // #3 = $val
24843/* 50262*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->50330
24844/* 50265*/ OPC_Scope, 20, /*->50287*/ // 3 children in Scope
24845/* 50267*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_32
24846/* 50269*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24847/* 50271*/ OPC_EmitMergeInputChains1_0,
24848/* 50272*/ OPC_EmitInteger, MVT::i32, 0,
24849/* 50275*/ OPC_EmitConvertToTarget, 2,
24850/* 50277*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24851 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24852 // Src: (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 11
24853 // Dst: (ATOMIC_RMW_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24854/* 50287*/ /*Scope*/ 20, /*->50308*/
24855/* 50288*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
24856/* 50290*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24857/* 50292*/ OPC_EmitMergeInputChains1_0,
24858/* 50293*/ OPC_EmitInteger, MVT::i32, 0,
24859/* 50296*/ OPC_EmitConvertToTarget, 2,
24860/* 50298*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24861 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24862 // Src: (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 11
24863 // Dst: (ATOMIC_RMW8_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24864/* 50308*/ /*Scope*/ 20, /*->50329*/
24865/* 50309*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
24866/* 50311*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24867/* 50313*/ OPC_EmitMergeInputChains1_0,
24868/* 50314*/ OPC_EmitInteger, MVT::i32, 0,
24869/* 50317*/ OPC_EmitConvertToTarget, 2,
24870/* 50319*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24871 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24872 // Src: (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 11
24873 // Dst: (ATOMIC_RMW16_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24874/* 50329*/ 0, /*End of Scope*/
24875/* 50330*/ /*SwitchType*/ 20, MVT::i64,// ->50352
24876/* 50332*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_xor_64
24877/* 50334*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24878/* 50336*/ OPC_EmitMergeInputChains1_0,
24879/* 50337*/ OPC_EmitInteger, MVT::i32, 0,
24880/* 50340*/ OPC_EmitConvertToTarget, 2,
24881/* 50342*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
24882 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
24883 // Src: (atomic_load_xor:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 11
24884 // Dst: (ATOMIC_RMW_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24885/* 50352*/ 0, // EndSwitchType
24886/* 50353*/ /*SwitchType*/ 93, MVT::i64,// ->50448
24887/* 50355*/ OPC_MoveParent,
24888/* 50356*/ OPC_RecordChild2, // #3 = $val
24889/* 50357*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->50425
24890/* 50360*/ OPC_Scope, 20, /*->50382*/ // 3 children in Scope
24891/* 50362*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_32
24892/* 50364*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24893/* 50366*/ OPC_EmitMergeInputChains1_0,
24894/* 50367*/ OPC_EmitInteger, MVT::i32, 0,
24895/* 50370*/ OPC_EmitConvertToTarget, 2,
24896/* 50372*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24897 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24898 // Src: (atomic_load_xor:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 11
24899 // Dst: (ATOMIC_RMW_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24900/* 50382*/ /*Scope*/ 20, /*->50403*/
24901/* 50383*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
24902/* 50385*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24903/* 50387*/ OPC_EmitMergeInputChains1_0,
24904/* 50388*/ OPC_EmitInteger, MVT::i32, 0,
24905/* 50391*/ OPC_EmitConvertToTarget, 2,
24906/* 50393*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24907 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24908 // Src: (atomic_load_xor:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 11
24909 // Dst: (ATOMIC_RMW8_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24910/* 50403*/ /*Scope*/ 20, /*->50424*/
24911/* 50404*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
24912/* 50406*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24913/* 50408*/ OPC_EmitMergeInputChains1_0,
24914/* 50409*/ OPC_EmitInteger, MVT::i32, 0,
24915/* 50412*/ OPC_EmitConvertToTarget, 2,
24916/* 50414*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24917 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24918 // Src: (atomic_load_xor:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 11
24919 // Dst: (ATOMIC_RMW16_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
24920/* 50424*/ 0, /*End of Scope*/
24921/* 50425*/ /*SwitchType*/ 20, MVT::i64,// ->50447
24922/* 50427*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_xor_64
24923/* 50429*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
24924/* 50431*/ OPC_EmitMergeInputChains1_0,
24925/* 50432*/ OPC_EmitInteger, MVT::i32, 0,
24926/* 50435*/ OPC_EmitConvertToTarget, 2,
24927/* 50437*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
24928 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
24929 // Src: (atomic_load_xor:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 11
24930 // Dst: (ATOMIC_RMW_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
24931/* 50447*/ 0, // EndSwitchType
24932/* 50448*/ 0, // EndSwitchType
24933/* 50449*/ /*SwitchOpcode*/ 124|128,1/*252*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->50705
24934/* 50453*/ OPC_RecordChild0, // #1 = $off
24935/* 50454*/ OPC_MoveChild0,
24936/* 50455*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
24937/* 50458*/ OPC_MoveParent,
24938/* 50459*/ OPC_MoveParent,
24939/* 50460*/ OPC_RecordChild2, // #2 = $val
24940/* 50461*/ OPC_SwitchType /*2 cases */, 51|128,1/*179*/, MVT::i32,// ->50644
24941/* 50465*/ OPC_Scope, 58, /*->50525*/ // 3 children in Scope
24942/* 50467*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_32
24943/* 50469*/ OPC_Scope, 26, /*->50497*/ // 2 children in Scope
24944/* 50471*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
24945/* 50473*/ OPC_EmitMergeInputChains1_0,
24946/* 50474*/ OPC_EmitInteger, MVT::i32, 0,
24947/* 50477*/ OPC_EmitInteger, MVT::i32, 0,
24948/* 50480*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24949 MVT::i32, 1/*#Ops*/, 4, // Results = #5
24950/* 50487*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24951 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24952 // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 10
24953 // Dst: (ATOMIC_RMW_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24954/* 50497*/ /*Scope*/ 26, /*->50524*/
24955/* 50498*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
24956/* 50500*/ OPC_EmitMergeInputChains1_0,
24957/* 50501*/ OPC_EmitInteger, MVT::i32, 0,
24958/* 50504*/ OPC_EmitInteger, MVT::i64, 0,
24959/* 50507*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
24960 MVT::i64, 1/*#Ops*/, 4, // Results = #5
24961/* 50514*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24962 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24963 // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 10
24964 // Dst: (ATOMIC_RMW_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
24965/* 50524*/ 0, /*End of Scope*/
24966/* 50525*/ /*Scope*/ 58, /*->50584*/
24967/* 50526*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
24968/* 50528*/ OPC_Scope, 26, /*->50556*/ // 2 children in Scope
24969/* 50530*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
24970/* 50532*/ OPC_EmitMergeInputChains1_0,
24971/* 50533*/ OPC_EmitInteger, MVT::i32, 0,
24972/* 50536*/ OPC_EmitInteger, MVT::i32, 0,
24973/* 50539*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24974 MVT::i32, 1/*#Ops*/, 4, // Results = #5
24975/* 50546*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24976 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24977 // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 10
24978 // Dst: (ATOMIC_RMW8_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24979/* 50556*/ /*Scope*/ 26, /*->50583*/
24980/* 50557*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
24981/* 50559*/ OPC_EmitMergeInputChains1_0,
24982/* 50560*/ OPC_EmitInteger, MVT::i32, 0,
24983/* 50563*/ OPC_EmitInteger, MVT::i64, 0,
24984/* 50566*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
24985 MVT::i64, 1/*#Ops*/, 4, // Results = #5
24986/* 50573*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24987 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24988 // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 10
24989 // Dst: (ATOMIC_RMW8_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
24990/* 50583*/ 0, /*End of Scope*/
24991/* 50584*/ /*Scope*/ 58, /*->50643*/
24992/* 50585*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
24993/* 50587*/ OPC_Scope, 26, /*->50615*/ // 2 children in Scope
24994/* 50589*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
24995/* 50591*/ OPC_EmitMergeInputChains1_0,
24996/* 50592*/ OPC_EmitInteger, MVT::i32, 0,
24997/* 50595*/ OPC_EmitInteger, MVT::i32, 0,
24998/* 50598*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24999 MVT::i32, 1/*#Ops*/, 4, // Results = #5
25000/* 50605*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25001 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
25002 // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 10
25003 // Dst: (ATOMIC_RMW16_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25004/* 50615*/ /*Scope*/ 26, /*->50642*/
25005/* 50616*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
25006/* 50618*/ OPC_EmitMergeInputChains1_0,
25007/* 50619*/ OPC_EmitInteger, MVT::i32, 0,
25008/* 50622*/ OPC_EmitInteger, MVT::i64, 0,
25009/* 50625*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
25010 MVT::i64, 1/*#Ops*/, 4, // Results = #5
25011/* 50632*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25012 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
25013 // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 10
25014 // Dst: (ATOMIC_RMW16_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
25015/* 50642*/ 0, /*End of Scope*/
25016/* 50643*/ 0, /*End of Scope*/
25017/* 50644*/ /*SwitchType*/ 58, MVT::i64,// ->50704
25018/* 50646*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_xor_64
25019/* 50648*/ OPC_Scope, 26, /*->50676*/ // 2 children in Scope
25020/* 50650*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
25021/* 50652*/ OPC_EmitMergeInputChains1_0,
25022/* 50653*/ OPC_EmitInteger, MVT::i32, 0,
25023/* 50656*/ OPC_EmitInteger, MVT::i32, 0,
25024/* 50659*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25025 MVT::i32, 1/*#Ops*/, 4, // Results = #5
25026/* 50666*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
25027 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
25028 // Src: (atomic_load_xor:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 10
25029 // Dst: (ATOMIC_RMW_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
25030/* 50676*/ /*Scope*/ 26, /*->50703*/
25031/* 50677*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
25032/* 50679*/ OPC_EmitMergeInputChains1_0,
25033/* 50680*/ OPC_EmitInteger, MVT::i32, 0,
25034/* 50683*/ OPC_EmitInteger, MVT::i64, 0,
25035/* 50686*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
25036 MVT::i64, 1/*#Ops*/, 4, // Results = #5
25037/* 50693*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25038 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
25039 // Src: (atomic_load_xor:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 10
25040 // Dst: (ATOMIC_RMW_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
25041/* 50703*/ 0, /*End of Scope*/
25042/* 50704*/ 0, // EndSwitchType
25043/* 50705*/ 0, // EndSwitchOpcode
25044/* 50706*/ /*Scope*/ 85|128,3/*469*/, /*->51177*/
25045/* 50708*/ OPC_RecordChild1, // #1 = $off
25046/* 50709*/ OPC_Scope, 10|128,2/*266*/, /*->50978*/ // 3 children in Scope
25047/* 50712*/ OPC_MoveChild1,
25048/* 50713*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25049/* 50716*/ OPC_MoveParent,
25050/* 50717*/ OPC_RecordChild2, // #2 = $val
25051/* 50718*/ OPC_SwitchType /*2 cases */, 63|128,1/*191*/, MVT::i32,// ->50913
25052/* 50722*/ OPC_Scope, 62, /*->50786*/ // 3 children in Scope
25053/* 50724*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_32
25054/* 50726*/ OPC_Scope, 28, /*->50756*/ // 2 children in Scope
25055/* 50728*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25056/* 50730*/ OPC_EmitMergeInputChains1_0,
25057/* 50731*/ OPC_EmitInteger, MVT::i32, 0,
25058/* 50734*/ OPC_EmitConvertToTarget, 1,
25059/* 50736*/ OPC_EmitInteger, MVT::i32, 0,
25060/* 50739*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25061 MVT::i32, 1/*#Ops*/, 5, // Results = #6
25062/* 50746*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25063 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
25064 // Src: (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 7
25065 // Dst: (ATOMIC_RMW_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25066/* 50756*/ /*Scope*/ 28, /*->50785*/
25067/* 50757*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25068/* 50759*/ OPC_EmitMergeInputChains1_0,
25069/* 50760*/ OPC_EmitInteger, MVT::i32, 0,
25070/* 50763*/ OPC_EmitConvertToTarget, 1,
25071/* 50765*/ OPC_EmitInteger, MVT::i64, 0,
25072/* 50768*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
25073 MVT::i64, 1/*#Ops*/, 5, // Results = #6
25074/* 50775*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25075 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
25076 // Src: (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 7
25077 // Dst: (ATOMIC_RMW_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
25078/* 50785*/ 0, /*End of Scope*/
25079/* 50786*/ /*Scope*/ 62, /*->50849*/
25080/* 50787*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
25081/* 50789*/ OPC_Scope, 28, /*->50819*/ // 2 children in Scope
25082/* 50791*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25083/* 50793*/ OPC_EmitMergeInputChains1_0,
25084/* 50794*/ OPC_EmitInteger, MVT::i32, 0,
25085/* 50797*/ OPC_EmitConvertToTarget, 1,
25086/* 50799*/ OPC_EmitInteger, MVT::i32, 0,
25087/* 50802*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25088 MVT::i32, 1/*#Ops*/, 5, // Results = #6
25089/* 50809*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25090 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
25091 // Src: (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 7
25092 // Dst: (ATOMIC_RMW8_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25093/* 50819*/ /*Scope*/ 28, /*->50848*/
25094/* 50820*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25095/* 50822*/ OPC_EmitMergeInputChains1_0,
25096/* 50823*/ OPC_EmitInteger, MVT::i32, 0,
25097/* 50826*/ OPC_EmitConvertToTarget, 1,
25098/* 50828*/ OPC_EmitInteger, MVT::i64, 0,
25099/* 50831*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
25100 MVT::i64, 1/*#Ops*/, 5, // Results = #6
25101/* 50838*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25102 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
25103 // Src: (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 7
25104 // Dst: (ATOMIC_RMW8_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
25105/* 50848*/ 0, /*End of Scope*/
25106/* 50849*/ /*Scope*/ 62, /*->50912*/
25107/* 50850*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
25108/* 50852*/ OPC_Scope, 28, /*->50882*/ // 2 children in Scope
25109/* 50854*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25110/* 50856*/ OPC_EmitMergeInputChains1_0,
25111/* 50857*/ OPC_EmitInteger, MVT::i32, 0,
25112/* 50860*/ OPC_EmitConvertToTarget, 1,
25113/* 50862*/ OPC_EmitInteger, MVT::i32, 0,
25114/* 50865*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25115 MVT::i32, 1/*#Ops*/, 5, // Results = #6
25116/* 50872*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25117 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
25118 // Src: (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 7
25119 // Dst: (ATOMIC_RMW16_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25120/* 50882*/ /*Scope*/ 28, /*->50911*/
25121/* 50883*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25122/* 50885*/ OPC_EmitMergeInputChains1_0,
25123/* 50886*/ OPC_EmitInteger, MVT::i32, 0,
25124/* 50889*/ OPC_EmitConvertToTarget, 1,
25125/* 50891*/ OPC_EmitInteger, MVT::i64, 0,
25126/* 50894*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
25127 MVT::i64, 1/*#Ops*/, 5, // Results = #6
25128/* 50901*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25129 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
25130 // Src: (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 7
25131 // Dst: (ATOMIC_RMW16_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
25132/* 50911*/ 0, /*End of Scope*/
25133/* 50912*/ 0, /*End of Scope*/
25134/* 50913*/ /*SwitchType*/ 62, MVT::i64,// ->50977
25135/* 50915*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_xor_64
25136/* 50917*/ OPC_Scope, 28, /*->50947*/ // 2 children in Scope
25137/* 50919*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25138/* 50921*/ OPC_EmitMergeInputChains1_0,
25139/* 50922*/ OPC_EmitInteger, MVT::i32, 0,
25140/* 50925*/ OPC_EmitConvertToTarget, 1,
25141/* 50927*/ OPC_EmitInteger, MVT::i32, 0,
25142/* 50930*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25143 MVT::i32, 1/*#Ops*/, 5, // Results = #6
25144/* 50937*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
25145 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
25146 // Src: (atomic_load_xor:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 7
25147 // Dst: (ATOMIC_RMW_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
25148/* 50947*/ /*Scope*/ 28, /*->50976*/
25149/* 50948*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25150/* 50950*/ OPC_EmitMergeInputChains1_0,
25151/* 50951*/ OPC_EmitInteger, MVT::i32, 0,
25152/* 50954*/ OPC_EmitConvertToTarget, 1,
25153/* 50956*/ OPC_EmitInteger, MVT::i64, 0,
25154/* 50959*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
25155 MVT::i64, 1/*#Ops*/, 5, // Results = #6
25156/* 50966*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25157 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
25158 // Src: (atomic_load_xor:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 7
25159 // Dst: (ATOMIC_RMW_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
25160/* 50976*/ 0, /*End of Scope*/
25161/* 50977*/ 0, // EndSwitchType
25162/* 50978*/ /*Scope*/ 98, /*->51077*/
25163/* 50979*/ OPC_CheckChild1Type, MVT::i32,
25164/* 50981*/ OPC_RecordChild2, // #2 = $val
25165/* 50982*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->51053
25166/* 50985*/ OPC_Scope, 21, /*->51008*/ // 3 children in Scope
25167/* 50987*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_32
25168/* 50989*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25169/* 50991*/ OPC_EmitMergeInputChains1_0,
25170/* 50992*/ OPC_EmitInteger, MVT::i32, 0,
25171/* 50995*/ OPC_EmitInteger, MVT::i32, 0,
25172/* 50998*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25173 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
25174 // Src: (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 4
25175 // Dst: (ATOMIC_RMW_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25176/* 51008*/ /*Scope*/ 21, /*->51030*/
25177/* 51009*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
25178/* 51011*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25179/* 51013*/ OPC_EmitMergeInputChains1_0,
25180/* 51014*/ OPC_EmitInteger, MVT::i32, 0,
25181/* 51017*/ OPC_EmitInteger, MVT::i32, 0,
25182/* 51020*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25183 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
25184 // Src: (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 4
25185 // Dst: (ATOMIC_RMW8_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25186/* 51030*/ /*Scope*/ 21, /*->51052*/
25187/* 51031*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
25188/* 51033*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25189/* 51035*/ OPC_EmitMergeInputChains1_0,
25190/* 51036*/ OPC_EmitInteger, MVT::i32, 0,
25191/* 51039*/ OPC_EmitInteger, MVT::i32, 0,
25192/* 51042*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25193 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
25194 // Src: (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 4
25195 // Dst: (ATOMIC_RMW16_U_XOR_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25196/* 51052*/ 0, /*End of Scope*/
25197/* 51053*/ /*SwitchType*/ 21, MVT::i64,// ->51076
25198/* 51055*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_xor_64
25199/* 51057*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25200/* 51059*/ OPC_EmitMergeInputChains1_0,
25201/* 51060*/ OPC_EmitInteger, MVT::i32, 0,
25202/* 51063*/ OPC_EmitInteger, MVT::i32, 0,
25203/* 51066*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
25204 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
25205 // Src: (atomic_load_xor:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 4
25206 // Dst: (ATOMIC_RMW_XOR_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
25207/* 51076*/ 0, // EndSwitchType
25208/* 51077*/ /*Scope*/ 98, /*->51176*/
25209/* 51078*/ OPC_CheckChild1Type, MVT::i64,
25210/* 51080*/ OPC_RecordChild2, // #2 = $val
25211/* 51081*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->51152
25212/* 51084*/ OPC_Scope, 21, /*->51107*/ // 3 children in Scope
25213/* 51086*/ OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_32
25214/* 51088*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25215/* 51090*/ OPC_EmitMergeInputChains1_0,
25216/* 51091*/ OPC_EmitInteger, MVT::i32, 0,
25217/* 51094*/ OPC_EmitInteger, MVT::i64, 0,
25218/* 51097*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25219 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
25220 // Src: (atomic_load_xor:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 4
25221 // Dst: (ATOMIC_RMW_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
25222/* 51107*/ /*Scope*/ 21, /*->51129*/
25223/* 51108*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
25224/* 51110*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25225/* 51112*/ OPC_EmitMergeInputChains1_0,
25226/* 51113*/ OPC_EmitInteger, MVT::i32, 0,
25227/* 51116*/ OPC_EmitInteger, MVT::i64, 0,
25228/* 51119*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25229 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
25230 // Src: (atomic_load_xor:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 4
25231 // Dst: (ATOMIC_RMW8_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
25232/* 51129*/ /*Scope*/ 21, /*->51151*/
25233/* 51130*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
25234/* 51132*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25235/* 51134*/ OPC_EmitMergeInputChains1_0,
25236/* 51135*/ OPC_EmitInteger, MVT::i32, 0,
25237/* 51138*/ OPC_EmitInteger, MVT::i64, 0,
25238/* 51141*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25239 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
25240 // Src: (atomic_load_xor:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 4
25241 // Dst: (ATOMIC_RMW16_U_XOR_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
25242/* 51151*/ 0, /*End of Scope*/
25243/* 51152*/ /*SwitchType*/ 21, MVT::i64,// ->51175
25244/* 51154*/ OPC_CheckPredicate, 9, // Predicate_atomic_load_xor_64
25245/* 51156*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25246/* 51158*/ OPC_EmitMergeInputChains1_0,
25247/* 51159*/ OPC_EmitInteger, MVT::i32, 0,
25248/* 51162*/ OPC_EmitInteger, MVT::i64, 0,
25249/* 51165*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25250 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
25251 // Src: (atomic_load_xor:{ *:[i64] } I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 4
25252 // Dst: (ATOMIC_RMW_XOR_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
25253/* 51175*/ 0, // EndSwitchType
25254/* 51176*/ 0, /*End of Scope*/
25255/* 51177*/ 0, /*End of Scope*/
25256/* 51178*/ /*SwitchOpcode*/ 122|128,8/*1146*/, TARGET_VAL(ISD::ATOMIC_SWAP),// ->52328
25257/* 51182*/ OPC_RecordMemRef,
25258/* 51183*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
25259/* 51184*/ OPC_Scope, 29|128,5/*669*/, /*->51856*/ // 2 children in Scope
25260/* 51187*/ OPC_MoveChild1,
25261/* 51188*/ OPC_SwitchOpcode /*3 cases */, 73|128,1/*201*/, TARGET_VAL(ISD::ADD),// ->51394
25262/* 51193*/ OPC_RecordChild0, // #1 = $addr
25263/* 51194*/ OPC_RecordChild1, // #2 = $off
25264/* 51195*/ OPC_MoveChild1,
25265/* 51196*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25266/* 51199*/ OPC_MoveParent,
25267/* 51200*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
25268/* 51202*/ OPC_SwitchType /*2 cases */, 93, MVT::i32,// ->51298
25269/* 51205*/ OPC_MoveParent,
25270/* 51206*/ OPC_RecordChild2, // #3 = $val
25271/* 51207*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->51275
25272/* 51210*/ OPC_Scope, 20, /*->51232*/ // 3 children in Scope
25273/* 51212*/ OPC_CheckPredicate, 6, // Predicate_atomic_swap_32
25274/* 51214*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25275/* 51216*/ OPC_EmitMergeInputChains1_0,
25276/* 51217*/ OPC_EmitInteger, MVT::i32, 0,
25277/* 51220*/ OPC_EmitConvertToTarget, 2,
25278/* 51222*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25279 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25280 // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 11
25281 // Dst: (ATOMIC_RMW_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25282/* 51232*/ /*Scope*/ 20, /*->51253*/
25283/* 51233*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
25284/* 51235*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25285/* 51237*/ OPC_EmitMergeInputChains1_0,
25286/* 51238*/ OPC_EmitInteger, MVT::i32, 0,
25287/* 51241*/ OPC_EmitConvertToTarget, 2,
25288/* 51243*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25289 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25290 // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 11
25291 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25292/* 51253*/ /*Scope*/ 20, /*->51274*/
25293/* 51254*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
25294/* 51256*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25295/* 51258*/ OPC_EmitMergeInputChains1_0,
25296/* 51259*/ OPC_EmitInteger, MVT::i32, 0,
25297/* 51262*/ OPC_EmitConvertToTarget, 2,
25298/* 51264*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25299 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25300 // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 11
25301 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25302/* 51274*/ 0, /*End of Scope*/
25303/* 51275*/ /*SwitchType*/ 20, MVT::i64,// ->51297
25304/* 51277*/ OPC_CheckPredicate, 9, // Predicate_atomic_swap_64
25305/* 51279*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25306/* 51281*/ OPC_EmitMergeInputChains1_0,
25307/* 51282*/ OPC_EmitInteger, MVT::i32, 0,
25308/* 51285*/ OPC_EmitConvertToTarget, 2,
25309/* 51287*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
25310 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
25311 // Src: (atomic_swap:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 11
25312 // Dst: (ATOMIC_RMW_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
25313/* 51297*/ 0, // EndSwitchType
25314/* 51298*/ /*SwitchType*/ 93, MVT::i64,// ->51393
25315/* 51300*/ OPC_MoveParent,
25316/* 51301*/ OPC_RecordChild2, // #3 = $val
25317/* 51302*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->51370
25318/* 51305*/ OPC_Scope, 20, /*->51327*/ // 3 children in Scope
25319/* 51307*/ OPC_CheckPredicate, 6, // Predicate_atomic_swap_32
25320/* 51309*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25321/* 51311*/ OPC_EmitMergeInputChains1_0,
25322/* 51312*/ OPC_EmitInteger, MVT::i32, 0,
25323/* 51315*/ OPC_EmitConvertToTarget, 2,
25324/* 51317*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25325 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25326 // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 11
25327 // Dst: (ATOMIC_RMW_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
25328/* 51327*/ /*Scope*/ 20, /*->51348*/
25329/* 51328*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
25330/* 51330*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25331/* 51332*/ OPC_EmitMergeInputChains1_0,
25332/* 51333*/ OPC_EmitInteger, MVT::i32, 0,
25333/* 51336*/ OPC_EmitConvertToTarget, 2,
25334/* 51338*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25335 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25336 // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 11
25337 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
25338/* 51348*/ /*Scope*/ 20, /*->51369*/
25339/* 51349*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
25340/* 51351*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25341/* 51353*/ OPC_EmitMergeInputChains1_0,
25342/* 51354*/ OPC_EmitInteger, MVT::i32, 0,
25343/* 51357*/ OPC_EmitConvertToTarget, 2,
25344/* 51359*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25345 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25346 // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 11
25347 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
25348/* 51369*/ 0, /*End of Scope*/
25349/* 51370*/ /*SwitchType*/ 20, MVT::i64,// ->51392
25350/* 51372*/ OPC_CheckPredicate, 9, // Predicate_atomic_swap_64
25351/* 51374*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25352/* 51376*/ OPC_EmitMergeInputChains1_0,
25353/* 51377*/ OPC_EmitInteger, MVT::i32, 0,
25354/* 51380*/ OPC_EmitConvertToTarget, 2,
25355/* 51382*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25356 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
25357 // Src: (atomic_swap:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 11
25358 // Dst: (ATOMIC_RMW_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
25359/* 51392*/ 0, // EndSwitchType
25360/* 51393*/ 0, // EndSwitchType
25361/* 51394*/ /*SwitchOpcode*/ 73|128,1/*201*/, TARGET_VAL(ISD::OR),// ->51599
25362/* 51398*/ OPC_RecordChild0, // #1 = $addr
25363/* 51399*/ OPC_RecordChild1, // #2 = $off
25364/* 51400*/ OPC_MoveChild1,
25365/* 51401*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25366/* 51404*/ OPC_MoveParent,
25367/* 51405*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
25368/* 51407*/ OPC_SwitchType /*2 cases */, 93, MVT::i32,// ->51503
25369/* 51410*/ OPC_MoveParent,
25370/* 51411*/ OPC_RecordChild2, // #3 = $val
25371/* 51412*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->51480
25372/* 51415*/ OPC_Scope, 20, /*->51437*/ // 3 children in Scope
25373/* 51417*/ OPC_CheckPredicate, 6, // Predicate_atomic_swap_32
25374/* 51419*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25375/* 51421*/ OPC_EmitMergeInputChains1_0,
25376/* 51422*/ OPC_EmitInteger, MVT::i32, 0,
25377/* 51425*/ OPC_EmitConvertToTarget, 2,
25378/* 51427*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25379 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25380 // Src: (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 11
25381 // Dst: (ATOMIC_RMW_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25382/* 51437*/ /*Scope*/ 20, /*->51458*/
25383/* 51438*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
25384/* 51440*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25385/* 51442*/ OPC_EmitMergeInputChains1_0,
25386/* 51443*/ OPC_EmitInteger, MVT::i32, 0,
25387/* 51446*/ OPC_EmitConvertToTarget, 2,
25388/* 51448*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25389 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25390 // Src: (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 11
25391 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25392/* 51458*/ /*Scope*/ 20, /*->51479*/
25393/* 51459*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
25394/* 51461*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25395/* 51463*/ OPC_EmitMergeInputChains1_0,
25396/* 51464*/ OPC_EmitInteger, MVT::i32, 0,
25397/* 51467*/ OPC_EmitConvertToTarget, 2,
25398/* 51469*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25399 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25400 // Src: (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 11
25401 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25402/* 51479*/ 0, /*End of Scope*/
25403/* 51480*/ /*SwitchType*/ 20, MVT::i64,// ->51502
25404/* 51482*/ OPC_CheckPredicate, 9, // Predicate_atomic_swap_64
25405/* 51484*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25406/* 51486*/ OPC_EmitMergeInputChains1_0,
25407/* 51487*/ OPC_EmitInteger, MVT::i32, 0,
25408/* 51490*/ OPC_EmitConvertToTarget, 2,
25409/* 51492*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
25410 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
25411 // Src: (atomic_swap:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 11
25412 // Dst: (ATOMIC_RMW_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
25413/* 51502*/ 0, // EndSwitchType
25414/* 51503*/ /*SwitchType*/ 93, MVT::i64,// ->51598
25415/* 51505*/ OPC_MoveParent,
25416/* 51506*/ OPC_RecordChild2, // #3 = $val
25417/* 51507*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->51575
25418/* 51510*/ OPC_Scope, 20, /*->51532*/ // 3 children in Scope
25419/* 51512*/ OPC_CheckPredicate, 6, // Predicate_atomic_swap_32
25420/* 51514*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25421/* 51516*/ OPC_EmitMergeInputChains1_0,
25422/* 51517*/ OPC_EmitInteger, MVT::i32, 0,
25423/* 51520*/ OPC_EmitConvertToTarget, 2,
25424/* 51522*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25425 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25426 // Src: (atomic_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 11
25427 // Dst: (ATOMIC_RMW_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
25428/* 51532*/ /*Scope*/ 20, /*->51553*/
25429/* 51533*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
25430/* 51535*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25431/* 51537*/ OPC_EmitMergeInputChains1_0,
25432/* 51538*/ OPC_EmitInteger, MVT::i32, 0,
25433/* 51541*/ OPC_EmitConvertToTarget, 2,
25434/* 51543*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25435 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25436 // Src: (atomic_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 11
25437 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
25438/* 51553*/ /*Scope*/ 20, /*->51574*/
25439/* 51554*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
25440/* 51556*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25441/* 51558*/ OPC_EmitMergeInputChains1_0,
25442/* 51559*/ OPC_EmitInteger, MVT::i32, 0,
25443/* 51562*/ OPC_EmitConvertToTarget, 2,
25444/* 51564*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25445 MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25446 // Src: (atomic_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 11
25447 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
25448/* 51574*/ 0, /*End of Scope*/
25449/* 51575*/ /*SwitchType*/ 20, MVT::i64,// ->51597
25450/* 51577*/ OPC_CheckPredicate, 9, // Predicate_atomic_swap_64
25451/* 51579*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25452/* 51581*/ OPC_EmitMergeInputChains1_0,
25453/* 51582*/ OPC_EmitInteger, MVT::i32, 0,
25454/* 51585*/ OPC_EmitConvertToTarget, 2,
25455/* 51587*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25456 MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
25457 // Src: (atomic_swap:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 11
25458 // Dst: (ATOMIC_RMW_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
25459/* 51597*/ 0, // EndSwitchType
25460/* 51598*/ 0, // EndSwitchType
25461/* 51599*/ /*SwitchOpcode*/ 124|128,1/*252*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->51855
25462/* 51603*/ OPC_RecordChild0, // #1 = $off
25463/* 51604*/ OPC_MoveChild0,
25464/* 51605*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
25465/* 51608*/ OPC_MoveParent,
25466/* 51609*/ OPC_MoveParent,
25467/* 51610*/ OPC_RecordChild2, // #2 = $val
25468/* 51611*/ OPC_SwitchType /*2 cases */, 51|128,1/*179*/, MVT::i32,// ->51794
25469/* 51615*/ OPC_Scope, 58, /*->51675*/ // 3 children in Scope
25470/* 51617*/ OPC_CheckPredicate, 6, // Predicate_atomic_swap_32
25471/* 51619*/ OPC_Scope, 26, /*->51647*/ // 2 children in Scope
25472/* 51621*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
25473/* 51623*/ OPC_EmitMergeInputChains1_0,
25474/* 51624*/ OPC_EmitInteger, MVT::i32, 0,
25475/* 51627*/ OPC_EmitInteger, MVT::i32, 0,
25476/* 51630*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25477 MVT::i32, 1/*#Ops*/, 4, // Results = #5
25478/* 51637*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25479 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
25480 // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 10
25481 // Dst: (ATOMIC_RMW_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25482/* 51647*/ /*Scope*/ 26, /*->51674*/
25483/* 51648*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
25484/* 51650*/ OPC_EmitMergeInputChains1_0,
25485/* 51651*/ OPC_EmitInteger, MVT::i32, 0,
25486/* 51654*/ OPC_EmitInteger, MVT::i64, 0,
25487/* 51657*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
25488 MVT::i64, 1/*#Ops*/, 4, // Results = #5
25489/* 51664*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25490 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
25491 // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 10
25492 // Dst: (ATOMIC_RMW_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
25493/* 51674*/ 0, /*End of Scope*/
25494/* 51675*/ /*Scope*/ 58, /*->51734*/
25495/* 51676*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
25496/* 51678*/ OPC_Scope, 26, /*->51706*/ // 2 children in Scope
25497/* 51680*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
25498/* 51682*/ OPC_EmitMergeInputChains1_0,
25499/* 51683*/ OPC_EmitInteger, MVT::i32, 0,
25500/* 51686*/ OPC_EmitInteger, MVT::i32, 0,
25501/* 51689*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25502 MVT::i32, 1/*#Ops*/, 4, // Results = #5
25503/* 51696*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25504 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
25505 // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 10
25506 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25507/* 51706*/ /*Scope*/ 26, /*->51733*/
25508/* 51707*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
25509/* 51709*/ OPC_EmitMergeInputChains1_0,
25510/* 51710*/ OPC_EmitInteger, MVT::i32, 0,
25511/* 51713*/ OPC_EmitInteger, MVT::i64, 0,
25512/* 51716*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
25513 MVT::i64, 1/*#Ops*/, 4, // Results = #5
25514/* 51723*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25515 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
25516 // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 10
25517 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
25518/* 51733*/ 0, /*End of Scope*/
25519/* 51734*/ /*Scope*/ 58, /*->51793*/
25520/* 51735*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
25521/* 51737*/ OPC_Scope, 26, /*->51765*/ // 2 children in Scope
25522/* 51739*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
25523/* 51741*/ OPC_EmitMergeInputChains1_0,
25524/* 51742*/ OPC_EmitInteger, MVT::i32, 0,
25525/* 51745*/ OPC_EmitInteger, MVT::i32, 0,
25526/* 51748*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25527 MVT::i32, 1/*#Ops*/, 4, // Results = #5
25528/* 51755*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25529 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
25530 // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 10
25531 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25532/* 51765*/ /*Scope*/ 26, /*->51792*/
25533/* 51766*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
25534/* 51768*/ OPC_EmitMergeInputChains1_0,
25535/* 51769*/ OPC_EmitInteger, MVT::i32, 0,
25536/* 51772*/ OPC_EmitInteger, MVT::i64, 0,
25537/* 51775*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
25538 MVT::i64, 1/*#Ops*/, 4, // Results = #5
25539/* 51782*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25540 MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
25541 // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 10
25542 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
25543/* 51792*/ 0, /*End of Scope*/
25544/* 51793*/ 0, /*End of Scope*/
25545/* 51794*/ /*SwitchType*/ 58, MVT::i64,// ->51854
25546/* 51796*/ OPC_CheckPredicate, 9, // Predicate_atomic_swap_64
25547/* 51798*/ OPC_Scope, 26, /*->51826*/ // 2 children in Scope
25548/* 51800*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
25549/* 51802*/ OPC_EmitMergeInputChains1_0,
25550/* 51803*/ OPC_EmitInteger, MVT::i32, 0,
25551/* 51806*/ OPC_EmitInteger, MVT::i32, 0,
25552/* 51809*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25553 MVT::i32, 1/*#Ops*/, 4, // Results = #5
25554/* 51816*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
25555 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
25556 // Src: (atomic_swap:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 10
25557 // Dst: (ATOMIC_RMW_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
25558/* 51826*/ /*Scope*/ 26, /*->51853*/
25559/* 51827*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
25560/* 51829*/ OPC_EmitMergeInputChains1_0,
25561/* 51830*/ OPC_EmitInteger, MVT::i32, 0,
25562/* 51833*/ OPC_EmitInteger, MVT::i64, 0,
25563/* 51836*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
25564 MVT::i64, 1/*#Ops*/, 4, // Results = #5
25565/* 51843*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25566 MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
25567 // Src: (atomic_swap:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 10
25568 // Dst: (ATOMIC_RMW_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
25569/* 51853*/ 0, /*End of Scope*/
25570/* 51854*/ 0, // EndSwitchType
25571/* 51855*/ 0, // EndSwitchOpcode
25572/* 51856*/ /*Scope*/ 85|128,3/*469*/, /*->52327*/
25573/* 51858*/ OPC_RecordChild1, // #1 = $off
25574/* 51859*/ OPC_Scope, 10|128,2/*266*/, /*->52128*/ // 3 children in Scope
25575/* 51862*/ OPC_MoveChild1,
25576/* 51863*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25577/* 51866*/ OPC_MoveParent,
25578/* 51867*/ OPC_RecordChild2, // #2 = $val
25579/* 51868*/ OPC_SwitchType /*2 cases */, 63|128,1/*191*/, MVT::i32,// ->52063
25580/* 51872*/ OPC_Scope, 62, /*->51936*/ // 3 children in Scope
25581/* 51874*/ OPC_CheckPredicate, 6, // Predicate_atomic_swap_32
25582/* 51876*/ OPC_Scope, 28, /*->51906*/ // 2 children in Scope
25583/* 51878*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25584/* 51880*/ OPC_EmitMergeInputChains1_0,
25585/* 51881*/ OPC_EmitInteger, MVT::i32, 0,
25586/* 51884*/ OPC_EmitConvertToTarget, 1,
25587/* 51886*/ OPC_EmitInteger, MVT::i32, 0,
25588/* 51889*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25589 MVT::i32, 1/*#Ops*/, 5, // Results = #6
25590/* 51896*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25591 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
25592 // Src: (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 7
25593 // Dst: (ATOMIC_RMW_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25594/* 51906*/ /*Scope*/ 28, /*->51935*/
25595/* 51907*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25596/* 51909*/ OPC_EmitMergeInputChains1_0,
25597/* 51910*/ OPC_EmitInteger, MVT::i32, 0,
25598/* 51913*/ OPC_EmitConvertToTarget, 1,
25599/* 51915*/ OPC_EmitInteger, MVT::i64, 0,
25600/* 51918*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
25601 MVT::i64, 1/*#Ops*/, 5, // Results = #6
25602/* 51925*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25603 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
25604 // Src: (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 7
25605 // Dst: (ATOMIC_RMW_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
25606/* 51935*/ 0, /*End of Scope*/
25607/* 51936*/ /*Scope*/ 62, /*->51999*/
25608/* 51937*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
25609/* 51939*/ OPC_Scope, 28, /*->51969*/ // 2 children in Scope
25610/* 51941*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25611/* 51943*/ OPC_EmitMergeInputChains1_0,
25612/* 51944*/ OPC_EmitInteger, MVT::i32, 0,
25613/* 51947*/ OPC_EmitConvertToTarget, 1,
25614/* 51949*/ OPC_EmitInteger, MVT::i32, 0,
25615/* 51952*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25616 MVT::i32, 1/*#Ops*/, 5, // Results = #6
25617/* 51959*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25618 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
25619 // Src: (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 7
25620 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25621/* 51969*/ /*Scope*/ 28, /*->51998*/
25622/* 51970*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25623/* 51972*/ OPC_EmitMergeInputChains1_0,
25624/* 51973*/ OPC_EmitInteger, MVT::i32, 0,
25625/* 51976*/ OPC_EmitConvertToTarget, 1,
25626/* 51978*/ OPC_EmitInteger, MVT::i64, 0,
25627/* 51981*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
25628 MVT::i64, 1/*#Ops*/, 5, // Results = #6
25629/* 51988*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25630 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
25631 // Src: (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 7
25632 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
25633/* 51998*/ 0, /*End of Scope*/
25634/* 51999*/ /*Scope*/ 62, /*->52062*/
25635/* 52000*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
25636/* 52002*/ OPC_Scope, 28, /*->52032*/ // 2 children in Scope
25637/* 52004*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25638/* 52006*/ OPC_EmitMergeInputChains1_0,
25639/* 52007*/ OPC_EmitInteger, MVT::i32, 0,
25640/* 52010*/ OPC_EmitConvertToTarget, 1,
25641/* 52012*/ OPC_EmitInteger, MVT::i32, 0,
25642/* 52015*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25643 MVT::i32, 1/*#Ops*/, 5, // Results = #6
25644/* 52022*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25645 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
25646 // Src: (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 7
25647 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25648/* 52032*/ /*Scope*/ 28, /*->52061*/
25649/* 52033*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25650/* 52035*/ OPC_EmitMergeInputChains1_0,
25651/* 52036*/ OPC_EmitInteger, MVT::i32, 0,
25652/* 52039*/ OPC_EmitConvertToTarget, 1,
25653/* 52041*/ OPC_EmitInteger, MVT::i64, 0,
25654/* 52044*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
25655 MVT::i64, 1/*#Ops*/, 5, // Results = #6
25656/* 52051*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25657 MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
25658 // Src: (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 7
25659 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$val)
25660/* 52061*/ 0, /*End of Scope*/
25661/* 52062*/ 0, /*End of Scope*/
25662/* 52063*/ /*SwitchType*/ 62, MVT::i64,// ->52127
25663/* 52065*/ OPC_CheckPredicate, 9, // Predicate_atomic_swap_64
25664/* 52067*/ OPC_Scope, 28, /*->52097*/ // 2 children in Scope
25665/* 52069*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25666/* 52071*/ OPC_EmitMergeInputChains1_0,
25667/* 52072*/ OPC_EmitInteger, MVT::i32, 0,
25668/* 52075*/ OPC_EmitConvertToTarget, 1,
25669/* 52077*/ OPC_EmitInteger, MVT::i32, 0,
25670/* 52080*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25671 MVT::i32, 1/*#Ops*/, 5, // Results = #6
25672/* 52087*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
25673 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
25674 // Src: (atomic_swap:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 7
25675 // Dst: (ATOMIC_RMW_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
25676/* 52097*/ /*Scope*/ 28, /*->52126*/
25677/* 52098*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25678/* 52100*/ OPC_EmitMergeInputChains1_0,
25679/* 52101*/ OPC_EmitInteger, MVT::i32, 0,
25680/* 52104*/ OPC_EmitConvertToTarget, 1,
25681/* 52106*/ OPC_EmitInteger, MVT::i64, 0,
25682/* 52109*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
25683 MVT::i64, 1/*#Ops*/, 5, // Results = #6
25684/* 52116*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25685 MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
25686 // Src: (atomic_swap:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 7
25687 // Dst: (ATOMIC_RMW_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$val)
25688/* 52126*/ 0, /*End of Scope*/
25689/* 52127*/ 0, // EndSwitchType
25690/* 52128*/ /*Scope*/ 98, /*->52227*/
25691/* 52129*/ OPC_CheckChild1Type, MVT::i32,
25692/* 52131*/ OPC_RecordChild2, // #2 = $val
25693/* 52132*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->52203
25694/* 52135*/ OPC_Scope, 21, /*->52158*/ // 3 children in Scope
25695/* 52137*/ OPC_CheckPredicate, 6, // Predicate_atomic_swap_32
25696/* 52139*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25697/* 52141*/ OPC_EmitMergeInputChains1_0,
25698/* 52142*/ OPC_EmitInteger, MVT::i32, 0,
25699/* 52145*/ OPC_EmitInteger, MVT::i32, 0,
25700/* 52148*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25701 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
25702 // Src: (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 4
25703 // Dst: (ATOMIC_RMW_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25704/* 52158*/ /*Scope*/ 21, /*->52180*/
25705/* 52159*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
25706/* 52161*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25707/* 52163*/ OPC_EmitMergeInputChains1_0,
25708/* 52164*/ OPC_EmitInteger, MVT::i32, 0,
25709/* 52167*/ OPC_EmitInteger, MVT::i32, 0,
25710/* 52170*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25711 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
25712 // Src: (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 4
25713 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25714/* 52180*/ /*Scope*/ 21, /*->52202*/
25715/* 52181*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
25716/* 52183*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25717/* 52185*/ OPC_EmitMergeInputChains1_0,
25718/* 52186*/ OPC_EmitInteger, MVT::i32, 0,
25719/* 52189*/ OPC_EmitInteger, MVT::i32, 0,
25720/* 52192*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25721 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
25722 // Src: (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 4
25723 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25724/* 52202*/ 0, /*End of Scope*/
25725/* 52203*/ /*SwitchType*/ 21, MVT::i64,// ->52226
25726/* 52205*/ OPC_CheckPredicate, 9, // Predicate_atomic_swap_64
25727/* 52207*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25728/* 52209*/ OPC_EmitMergeInputChains1_0,
25729/* 52210*/ OPC_EmitInteger, MVT::i32, 0,
25730/* 52213*/ OPC_EmitInteger, MVT::i32, 0,
25731/* 52216*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
25732 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
25733 // Src: (atomic_swap:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 4
25734 // Dst: (ATOMIC_RMW_XCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
25735/* 52226*/ 0, // EndSwitchType
25736/* 52227*/ /*Scope*/ 98, /*->52326*/
25737/* 52228*/ OPC_CheckChild1Type, MVT::i64,
25738/* 52230*/ OPC_RecordChild2, // #2 = $val
25739/* 52231*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->52302
25740/* 52234*/ OPC_Scope, 21, /*->52257*/ // 3 children in Scope
25741/* 52236*/ OPC_CheckPredicate, 6, // Predicate_atomic_swap_32
25742/* 52238*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25743/* 52240*/ OPC_EmitMergeInputChains1_0,
25744/* 52241*/ OPC_EmitInteger, MVT::i32, 0,
25745/* 52244*/ OPC_EmitInteger, MVT::i64, 0,
25746/* 52247*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25747 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
25748 // Src: (atomic_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 4
25749 // Dst: (ATOMIC_RMW_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
25750/* 52257*/ /*Scope*/ 21, /*->52279*/
25751/* 52258*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
25752/* 52260*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25753/* 52262*/ OPC_EmitMergeInputChains1_0,
25754/* 52263*/ OPC_EmitInteger, MVT::i32, 0,
25755/* 52266*/ OPC_EmitInteger, MVT::i64, 0,
25756/* 52269*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25757 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
25758 // Src: (atomic_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 4
25759 // Dst: (ATOMIC_RMW8_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
25760/* 52279*/ /*Scope*/ 21, /*->52301*/
25761/* 52280*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
25762/* 52282*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25763/* 52284*/ OPC_EmitMergeInputChains1_0,
25764/* 52285*/ OPC_EmitInteger, MVT::i32, 0,
25765/* 52288*/ OPC_EmitInteger, MVT::i64, 0,
25766/* 52291*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25767 MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
25768 // Src: (atomic_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 4
25769 // Dst: (ATOMIC_RMW16_U_XCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$val)
25770/* 52301*/ 0, /*End of Scope*/
25771/* 52302*/ /*SwitchType*/ 21, MVT::i64,// ->52325
25772/* 52304*/ OPC_CheckPredicate, 9, // Predicate_atomic_swap_64
25773/* 52306*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25774/* 52308*/ OPC_EmitMergeInputChains1_0,
25775/* 52309*/ OPC_EmitInteger, MVT::i32, 0,
25776/* 52312*/ OPC_EmitInteger, MVT::i64, 0,
25777/* 52315*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25778 MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
25779 // Src: (atomic_swap:{ *:[i64] } I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 4
25780 // Dst: (ATOMIC_RMW_XCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$val)
25781/* 52325*/ 0, // EndSwitchType
25782/* 52326*/ 0, /*End of Scope*/
25783/* 52327*/ 0, /*End of Scope*/
25784/* 52328*/ /*SwitchOpcode*/ 2|128,9/*1154*/, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),// ->53486
25785/* 52332*/ OPC_RecordMemRef,
25786/* 52333*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
25787/* 52334*/ OPC_Scope, 58|128,5/*698*/, /*->53035*/ // 2 children in Scope
25788/* 52337*/ OPC_MoveChild1,
25789/* 52338*/ OPC_SwitchOpcode /*3 cases */, 83|128,1/*211*/, TARGET_VAL(ISD::ADD),// ->52554
25790/* 52343*/ OPC_RecordChild0, // #1 = $addr
25791/* 52344*/ OPC_RecordChild1, // #2 = $off
25792/* 52345*/ OPC_MoveChild1,
25793/* 52346*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25794/* 52349*/ OPC_MoveParent,
25795/* 52350*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
25796/* 52352*/ OPC_SwitchType /*2 cases */, 98, MVT::i32,// ->52453
25797/* 52355*/ OPC_MoveParent,
25798/* 52356*/ OPC_RecordChild2, // #3 = $exp
25799/* 52357*/ OPC_RecordChild3, // #4 = $new
25800/* 52358*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->52429
25801/* 52361*/ OPC_Scope, 21, /*->52384*/ // 3 children in Scope
25802/* 52363*/ OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_32
25803/* 52365*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25804/* 52367*/ OPC_EmitMergeInputChains1_0,
25805/* 52368*/ OPC_EmitInteger, MVT::i32, 0,
25806/* 52371*/ OPC_EmitConvertToTarget, 2,
25807/* 52373*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25808 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25809 // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 11
25810 // Dst: (ATOMIC_RMW_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25811/* 52384*/ /*Scope*/ 21, /*->52406*/
25812/* 52385*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
25813/* 52387*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25814/* 52389*/ OPC_EmitMergeInputChains1_0,
25815/* 52390*/ OPC_EmitInteger, MVT::i32, 0,
25816/* 52393*/ OPC_EmitConvertToTarget, 2,
25817/* 52395*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25818 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25819 // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 11
25820 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25821/* 52406*/ /*Scope*/ 21, /*->52428*/
25822/* 52407*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
25823/* 52409*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25824/* 52411*/ OPC_EmitMergeInputChains1_0,
25825/* 52412*/ OPC_EmitInteger, MVT::i32, 0,
25826/* 52415*/ OPC_EmitConvertToTarget, 2,
25827/* 52417*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25828 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25829 // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 11
25830 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25831/* 52428*/ 0, /*End of Scope*/
25832/* 52429*/ /*SwitchType*/ 21, MVT::i64,// ->52452
25833/* 52431*/ OPC_CheckPredicate, 9, // Predicate_atomic_cmp_swap_64
25834/* 52433*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25835/* 52435*/ OPC_EmitMergeInputChains1_0,
25836/* 52436*/ OPC_EmitInteger, MVT::i32, 0,
25837/* 52439*/ OPC_EmitConvertToTarget, 2,
25838/* 52441*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
25839 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
25840 // Src: (atomic_cmp_swap:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 11
25841 // Dst: (ATOMIC_RMW_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
25842/* 52452*/ 0, // EndSwitchType
25843/* 52453*/ /*SwitchType*/ 98, MVT::i64,// ->52553
25844/* 52455*/ OPC_MoveParent,
25845/* 52456*/ OPC_RecordChild2, // #3 = $exp
25846/* 52457*/ OPC_RecordChild3, // #4 = $new
25847/* 52458*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->52529
25848/* 52461*/ OPC_Scope, 21, /*->52484*/ // 3 children in Scope
25849/* 52463*/ OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_32
25850/* 52465*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25851/* 52467*/ OPC_EmitMergeInputChains1_0,
25852/* 52468*/ OPC_EmitInteger, MVT::i32, 0,
25853/* 52471*/ OPC_EmitConvertToTarget, 2,
25854/* 52473*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25855 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25856 // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 11
25857 // Dst: (ATOMIC_RMW_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25858/* 52484*/ /*Scope*/ 21, /*->52506*/
25859/* 52485*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
25860/* 52487*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25861/* 52489*/ OPC_EmitMergeInputChains1_0,
25862/* 52490*/ OPC_EmitInteger, MVT::i32, 0,
25863/* 52493*/ OPC_EmitConvertToTarget, 2,
25864/* 52495*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25865 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25866 // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 11
25867 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25868/* 52506*/ /*Scope*/ 21, /*->52528*/
25869/* 52507*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
25870/* 52509*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25871/* 52511*/ OPC_EmitMergeInputChains1_0,
25872/* 52512*/ OPC_EmitInteger, MVT::i32, 0,
25873/* 52515*/ OPC_EmitConvertToTarget, 2,
25874/* 52517*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25875 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25876 // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 11
25877 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25878/* 52528*/ 0, /*End of Scope*/
25879/* 52529*/ /*SwitchType*/ 21, MVT::i64,// ->52552
25880/* 52531*/ OPC_CheckPredicate, 9, // Predicate_atomic_cmp_swap_64
25881/* 52533*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25882/* 52535*/ OPC_EmitMergeInputChains1_0,
25883/* 52536*/ OPC_EmitInteger, MVT::i32, 0,
25884/* 52539*/ OPC_EmitConvertToTarget, 2,
25885/* 52541*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25886 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
25887 // Src: (atomic_cmp_swap:{ *:[i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 11
25888 // Dst: (ATOMIC_RMW_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
25889/* 52552*/ 0, // EndSwitchType
25890/* 52553*/ 0, // EndSwitchType
25891/* 52554*/ /*SwitchOpcode*/ 83|128,1/*211*/, TARGET_VAL(ISD::OR),// ->52769
25892/* 52558*/ OPC_RecordChild0, // #1 = $addr
25893/* 52559*/ OPC_RecordChild1, // #2 = $off
25894/* 52560*/ OPC_MoveChild1,
25895/* 52561*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25896/* 52564*/ OPC_MoveParent,
25897/* 52565*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
25898/* 52567*/ OPC_SwitchType /*2 cases */, 98, MVT::i32,// ->52668
25899/* 52570*/ OPC_MoveParent,
25900/* 52571*/ OPC_RecordChild2, // #3 = $exp
25901/* 52572*/ OPC_RecordChild3, // #4 = $new
25902/* 52573*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->52644
25903/* 52576*/ OPC_Scope, 21, /*->52599*/ // 3 children in Scope
25904/* 52578*/ OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_32
25905/* 52580*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25906/* 52582*/ OPC_EmitMergeInputChains1_0,
25907/* 52583*/ OPC_EmitInteger, MVT::i32, 0,
25908/* 52586*/ OPC_EmitConvertToTarget, 2,
25909/* 52588*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25910 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25911 // Src: (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 11
25912 // Dst: (ATOMIC_RMW_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25913/* 52599*/ /*Scope*/ 21, /*->52621*/
25914/* 52600*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
25915/* 52602*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25916/* 52604*/ OPC_EmitMergeInputChains1_0,
25917/* 52605*/ OPC_EmitInteger, MVT::i32, 0,
25918/* 52608*/ OPC_EmitConvertToTarget, 2,
25919/* 52610*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25920 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25921 // Src: (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 11
25922 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25923/* 52621*/ /*Scope*/ 21, /*->52643*/
25924/* 52622*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
25925/* 52624*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25926/* 52626*/ OPC_EmitMergeInputChains1_0,
25927/* 52627*/ OPC_EmitInteger, MVT::i32, 0,
25928/* 52630*/ OPC_EmitConvertToTarget, 2,
25929/* 52632*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25930 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25931 // Src: (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 11
25932 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25933/* 52643*/ 0, /*End of Scope*/
25934/* 52644*/ /*SwitchType*/ 21, MVT::i64,// ->52667
25935/* 52646*/ OPC_CheckPredicate, 9, // Predicate_atomic_cmp_swap_64
25936/* 52648*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25937/* 52650*/ OPC_EmitMergeInputChains1_0,
25938/* 52651*/ OPC_EmitInteger, MVT::i32, 0,
25939/* 52654*/ OPC_EmitConvertToTarget, 2,
25940/* 52656*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
25941 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
25942 // Src: (atomic_cmp_swap:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 11
25943 // Dst: (ATOMIC_RMW_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
25944/* 52667*/ 0, // EndSwitchType
25945/* 52668*/ /*SwitchType*/ 98, MVT::i64,// ->52768
25946/* 52670*/ OPC_MoveParent,
25947/* 52671*/ OPC_RecordChild2, // #3 = $exp
25948/* 52672*/ OPC_RecordChild3, // #4 = $new
25949/* 52673*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->52744
25950/* 52676*/ OPC_Scope, 21, /*->52699*/ // 3 children in Scope
25951/* 52678*/ OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_32
25952/* 52680*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25953/* 52682*/ OPC_EmitMergeInputChains1_0,
25954/* 52683*/ OPC_EmitInteger, MVT::i32, 0,
25955/* 52686*/ OPC_EmitConvertToTarget, 2,
25956/* 52688*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25957 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25958 // Src: (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 11
25959 // Dst: (ATOMIC_RMW_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25960/* 52699*/ /*Scope*/ 21, /*->52721*/
25961/* 52700*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
25962/* 52702*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25963/* 52704*/ OPC_EmitMergeInputChains1_0,
25964/* 52705*/ OPC_EmitInteger, MVT::i32, 0,
25965/* 52708*/ OPC_EmitConvertToTarget, 2,
25966/* 52710*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25967 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25968 // Src: (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 11
25969 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25970/* 52721*/ /*Scope*/ 21, /*->52743*/
25971/* 52722*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
25972/* 52724*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25973/* 52726*/ OPC_EmitMergeInputChains1_0,
25974/* 52727*/ OPC_EmitInteger, MVT::i32, 0,
25975/* 52730*/ OPC_EmitConvertToTarget, 2,
25976/* 52732*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25977 MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25978 // Src: (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 11
25979 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25980/* 52743*/ 0, /*End of Scope*/
25981/* 52744*/ /*SwitchType*/ 21, MVT::i64,// ->52767
25982/* 52746*/ OPC_CheckPredicate, 9, // Predicate_atomic_cmp_swap_64
25983/* 52748*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
25984/* 52750*/ OPC_EmitMergeInputChains1_0,
25985/* 52751*/ OPC_EmitInteger, MVT::i32, 0,
25986/* 52754*/ OPC_EmitConvertToTarget, 2,
25987/* 52756*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25988 MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
25989 // Src: (atomic_cmp_swap:{ *:[i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 11
25990 // Dst: (ATOMIC_RMW_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
25991/* 52767*/ 0, // EndSwitchType
25992/* 52768*/ 0, // EndSwitchType
25993/* 52769*/ /*SwitchOpcode*/ 5|128,2/*261*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->53034
25994/* 52773*/ OPC_RecordChild0, // #1 = $off
25995/* 52774*/ OPC_MoveChild0,
25996/* 52775*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
25997/* 52778*/ OPC_MoveParent,
25998/* 52779*/ OPC_MoveParent,
25999/* 52780*/ OPC_RecordChild2, // #2 = $exp
26000/* 52781*/ OPC_RecordChild3, // #3 = $new
26001/* 52782*/ OPC_SwitchType /*2 cases */, 57|128,1/*185*/, MVT::i32,// ->52971
26002/* 52786*/ OPC_Scope, 60, /*->52848*/ // 3 children in Scope
26003/* 52788*/ OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_32
26004/* 52790*/ OPC_Scope, 27, /*->52819*/ // 2 children in Scope
26005/* 52792*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
26006/* 52794*/ OPC_EmitMergeInputChains1_0,
26007/* 52795*/ OPC_EmitInteger, MVT::i32, 0,
26008/* 52798*/ OPC_EmitInteger, MVT::i32, 0,
26009/* 52801*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
26010 MVT::i32, 1/*#Ops*/, 5, // Results = #6
26011/* 52808*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
26012 MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
26013 // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 10
26014 // Dst: (ATOMIC_RMW_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26015/* 52819*/ /*Scope*/ 27, /*->52847*/
26016/* 52820*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
26017/* 52822*/ OPC_EmitMergeInputChains1_0,
26018/* 52823*/ OPC_EmitInteger, MVT::i32, 0,
26019/* 52826*/ OPC_EmitInteger, MVT::i64, 0,
26020/* 52829*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
26021 MVT::i64, 1/*#Ops*/, 5, // Results = #6
26022/* 52836*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
26023 MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
26024 // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 10
26025 // Dst: (ATOMIC_RMW_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26026/* 52847*/ 0, /*End of Scope*/
26027/* 52848*/ /*Scope*/ 60, /*->52909*/
26028/* 52849*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
26029/* 52851*/ OPC_Scope, 27, /*->52880*/ // 2 children in Scope
26030/* 52853*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
26031/* 52855*/ OPC_EmitMergeInputChains1_0,
26032/* 52856*/ OPC_EmitInteger, MVT::i32, 0,
26033/* 52859*/ OPC_EmitInteger, MVT::i32, 0,
26034/* 52862*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
26035 MVT::i32, 1/*#Ops*/, 5, // Results = #6
26036/* 52869*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
26037 MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
26038 // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 10
26039 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26040/* 52880*/ /*Scope*/ 27, /*->52908*/
26041/* 52881*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
26042/* 52883*/ OPC_EmitMergeInputChains1_0,
26043/* 52884*/ OPC_EmitInteger, MVT::i32, 0,
26044/* 52887*/ OPC_EmitInteger, MVT::i64, 0,
26045/* 52890*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
26046 MVT::i64, 1/*#Ops*/, 5, // Results = #6
26047/* 52897*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
26048 MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
26049 // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 10
26050 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26051/* 52908*/ 0, /*End of Scope*/
26052/* 52909*/ /*Scope*/ 60, /*->52970*/
26053/* 52910*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
26054/* 52912*/ OPC_Scope, 27, /*->52941*/ // 2 children in Scope
26055/* 52914*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
26056/* 52916*/ OPC_EmitMergeInputChains1_0,
26057/* 52917*/ OPC_EmitInteger, MVT::i32, 0,
26058/* 52920*/ OPC_EmitInteger, MVT::i32, 0,
26059/* 52923*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
26060 MVT::i32, 1/*#Ops*/, 5, // Results = #6
26061/* 52930*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
26062 MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
26063 // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 10
26064 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26065/* 52941*/ /*Scope*/ 27, /*->52969*/
26066/* 52942*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
26067/* 52944*/ OPC_EmitMergeInputChains1_0,
26068/* 52945*/ OPC_EmitInteger, MVT::i32, 0,
26069/* 52948*/ OPC_EmitInteger, MVT::i64, 0,
26070/* 52951*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
26071 MVT::i64, 1/*#Ops*/, 5, // Results = #6
26072/* 52958*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
26073 MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
26074 // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 10
26075 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26076/* 52969*/ 0, /*End of Scope*/
26077/* 52970*/ 0, /*End of Scope*/
26078/* 52971*/ /*SwitchType*/ 60, MVT::i64,// ->53033
26079/* 52973*/ OPC_CheckPredicate, 9, // Predicate_atomic_cmp_swap_64
26080/* 52975*/ OPC_Scope, 27, /*->53004*/ // 2 children in Scope
26081/* 52977*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
26082/* 52979*/ OPC_EmitMergeInputChains1_0,
26083/* 52980*/ OPC_EmitInteger, MVT::i32, 0,
26084/* 52983*/ OPC_EmitInteger, MVT::i32, 0,
26085/* 52986*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
26086 MVT::i32, 1/*#Ops*/, 5, // Results = #6
26087/* 52993*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
26088 MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
26089 // Src: (atomic_cmp_swap:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 10
26090 // Dst: (ATOMIC_RMW_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
26091/* 53004*/ /*Scope*/ 27, /*->53032*/
26092/* 53005*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent())
26093/* 53007*/ OPC_EmitMergeInputChains1_0,
26094/* 53008*/ OPC_EmitInteger, MVT::i32, 0,
26095/* 53011*/ OPC_EmitInteger, MVT::i64, 0,
26096/* 53014*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
26097 MVT::i64, 1/*#Ops*/, 5, // Results = #6
26098/* 53021*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
26099 MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
26100 // Src: (atomic_cmp_swap:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 10
26101 // Dst: (ATOMIC_RMW_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
26102/* 53032*/ 0, /*End of Scope*/
26103/* 53033*/ 0, // EndSwitchType
26104/* 53034*/ 0, // EndSwitchOpcode
26105/* 53035*/ /*Scope*/ 64|128,3/*448*/, /*->53485*/
26106/* 53037*/ OPC_RecordChild1, // #1 = $off
26107/* 53038*/ OPC_Scope, 107|128,1/*235*/, /*->53276*/ // 3 children in Scope
26108/* 53041*/ OPC_MoveChild1,
26109/* 53042*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26110/* 53045*/ OPC_MoveParent,
26111/* 53046*/ OPC_RecordChild2, // #2 = $exp
26112/* 53047*/ OPC_RecordChild3, // #3 = $new
26113/* 53048*/ OPC_SwitchType /*2 cases */, 39|128,1/*167*/, MVT::i32,// ->53219
26114/* 53052*/ OPC_Scope, 54, /*->53108*/ // 3 children in Scope
26115/* 53054*/ OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_32
26116/* 53056*/ OPC_EmitMergeInputChains1_0,
26117/* 53057*/ OPC_EmitInteger, MVT::i32, 0,
26118/* 53060*/ OPC_EmitConvertToTarget, 1,
26119/* 53062*/ OPC_Scope, 21, /*->53085*/ // 2 children in Scope
26120/* 53064*/ OPC_EmitInteger, MVT::i32, 0,
26121/* 53067*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
26122 MVT::i32, 1/*#Ops*/, 6, // Results = #7
26123/* 53074*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
26124 MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
26125 // Src: (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 7
26126 // Dst: (ATOMIC_RMW_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26127/* 53085*/ /*Scope*/ 21, /*->53107*/
26128/* 53086*/ OPC_EmitInteger, MVT::i64, 0,
26129/* 53089*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
26130 MVT::i64, 1/*#Ops*/, 6, // Results = #7
26131/* 53096*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
26132 MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
26133 // Src: (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 7
26134 // Dst: (ATOMIC_RMW_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26135/* 53107*/ 0, /*End of Scope*/
26136/* 53108*/ /*Scope*/ 54, /*->53163*/
26137/* 53109*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
26138/* 53111*/ OPC_EmitMergeInputChains1_0,
26139/* 53112*/ OPC_EmitInteger, MVT::i32, 0,
26140/* 53115*/ OPC_EmitConvertToTarget, 1,
26141/* 53117*/ OPC_Scope, 21, /*->53140*/ // 2 children in Scope
26142/* 53119*/ OPC_EmitInteger, MVT::i32, 0,
26143/* 53122*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
26144 MVT::i32, 1/*#Ops*/, 6, // Results = #7
26145/* 53129*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
26146 MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
26147 // Src: (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 7
26148 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26149/* 53140*/ /*Scope*/ 21, /*->53162*/
26150/* 53141*/ OPC_EmitInteger, MVT::i64, 0,
26151/* 53144*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
26152 MVT::i64, 1/*#Ops*/, 6, // Results = #7
26153/* 53151*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
26154 MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
26155 // Src: (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 7
26156 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26157/* 53162*/ 0, /*End of Scope*/
26158/* 53163*/ /*Scope*/ 54, /*->53218*/
26159/* 53164*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
26160/* 53166*/ OPC_EmitMergeInputChains1_0,
26161/* 53167*/ OPC_EmitInteger, MVT::i32, 0,
26162/* 53170*/ OPC_EmitConvertToTarget, 1,
26163/* 53172*/ OPC_Scope, 21, /*->53195*/ // 2 children in Scope
26164/* 53174*/ OPC_EmitInteger, MVT::i32, 0,
26165/* 53177*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
26166 MVT::i32, 1/*#Ops*/, 6, // Results = #7
26167/* 53184*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
26168 MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
26169 // Src: (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 7
26170 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26171/* 53195*/ /*Scope*/ 21, /*->53217*/
26172/* 53196*/ OPC_EmitInteger, MVT::i64, 0,
26173/* 53199*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
26174 MVT::i64, 1/*#Ops*/, 6, // Results = #7
26175/* 53206*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
26176 MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
26177 // Src: (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 7
26178 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26179/* 53217*/ 0, /*End of Scope*/
26180/* 53218*/ 0, /*End of Scope*/
26181/* 53219*/ /*SwitchType*/ 54, MVT::i64,// ->53275
26182/* 53221*/ OPC_CheckPredicate, 9, // Predicate_atomic_cmp_swap_64
26183/* 53223*/ OPC_EmitMergeInputChains1_0,
26184/* 53224*/ OPC_EmitInteger, MVT::i32, 0,
26185/* 53227*/ OPC_EmitConvertToTarget, 1,
26186/* 53229*/ OPC_Scope, 21, /*->53252*/ // 2 children in Scope
26187/* 53231*/ OPC_EmitInteger, MVT::i32, 0,
26188/* 53234*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
26189 MVT::i32, 1/*#Ops*/, 6, // Results = #7
26190/* 53241*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
26191 MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
26192 // Src: (atomic_cmp_swap:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 7
26193 // Dst: (ATOMIC_RMW_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
26194/* 53252*/ /*Scope*/ 21, /*->53274*/
26195/* 53253*/ OPC_EmitInteger, MVT::i64, 0,
26196/* 53256*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
26197 MVT::i64, 1/*#Ops*/, 6, // Results = #7
26198/* 53263*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
26199 MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
26200 // Src: (atomic_cmp_swap:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 7
26201 // Dst: (ATOMIC_RMW_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
26202/* 53274*/ 0, /*End of Scope*/
26203/* 53275*/ 0, // EndSwitchType
26204/* 53276*/ /*Scope*/ 103, /*->53380*/
26205/* 53277*/ OPC_CheckChild1Type, MVT::i32,
26206/* 53279*/ OPC_RecordChild2, // #2 = $exp
26207/* 53280*/ OPC_RecordChild3, // #3 = $new
26208/* 53281*/ OPC_SwitchType /*2 cases */, 71, MVT::i32,// ->53355
26209/* 53284*/ OPC_Scope, 22, /*->53308*/ // 3 children in Scope
26210/* 53286*/ OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_32
26211/* 53288*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
26212/* 53290*/ OPC_EmitMergeInputChains1_0,
26213/* 53291*/ OPC_EmitInteger, MVT::i32, 0,
26214/* 53294*/ OPC_EmitInteger, MVT::i32, 0,
26215/* 53297*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
26216 MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
26217 // Src: (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 4
26218 // Dst: (ATOMIC_RMW_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26219/* 53308*/ /*Scope*/ 22, /*->53331*/
26220/* 53309*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
26221/* 53311*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
26222/* 53313*/ OPC_EmitMergeInputChains1_0,
26223/* 53314*/ OPC_EmitInteger, MVT::i32, 0,
26224/* 53317*/ OPC_EmitInteger, MVT::i32, 0,
26225/* 53320*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
26226 MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
26227 // Src: (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 4
26228 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26229/* 53331*/ /*Scope*/ 22, /*->53354*/
26230/* 53332*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
26231/* 53334*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
26232/* 53336*/ OPC_EmitMergeInputChains1_0,
26233/* 53337*/ OPC_EmitInteger, MVT::i32, 0,
26234/* 53340*/ OPC_EmitInteger, MVT::i32, 0,
26235/* 53343*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
26236 MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
26237 // Src: (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 4
26238 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26239/* 53354*/ 0, /*End of Scope*/
26240/* 53355*/ /*SwitchType*/ 22, MVT::i64,// ->53379
26241/* 53357*/ OPC_CheckPredicate, 9, // Predicate_atomic_cmp_swap_64
26242/* 53359*/ OPC_CheckPatternPredicate, 0, // (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
26243/* 53361*/ OPC_EmitMergeInputChains1_0,
26244/* 53362*/ OPC_EmitInteger, MVT::i32, 0,
26245/* 53365*/ OPC_EmitInteger, MVT::i32, 0,
26246/* 53368*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
26247 MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
26248 // Src: (atomic_cmp_swap:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 4
26249 // Dst: (ATOMIC_RMW_CMPXCHG_I64_A32:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
26250/* 53379*/ 0, // EndSwitchType
26251/* 53380*/ /*Scope*/ 103, /*->53484*/
26252/* 53381*/ OPC_CheckChild1Type, MVT::i64,
26253/* 53383*/ OPC_RecordChild2, // #2 = $exp
26254/* 53384*/ OPC_RecordChild3, // #3 = $new
26255/* 53385*/ OPC_SwitchType /*2 cases */, 71, MVT::i32,// ->53459
26256/* 53388*/ OPC_Scope, 22, /*->53412*/ // 3 children in Scope
26257/* 53390*/ OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_32
26258/* 53392*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
26259/* 53394*/ OPC_EmitMergeInputChains1_0,
26260/* 53395*/ OPC_EmitInteger, MVT::i32, 0,
26261/* 53398*/ OPC_EmitInteger, MVT::i64, 0,
26262/* 53401*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
26263 MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
26264 // Src: (atomic_cmp_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 4
26265 // Dst: (ATOMIC_RMW_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26266/* 53412*/ /*Scope*/ 22, /*->53435*/
26267/* 53413*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
26268/* 53415*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
26269/* 53417*/ OPC_EmitMergeInputChains1_0,
26270/* 53418*/ OPC_EmitInteger, MVT::i32, 0,
26271/* 53421*/ OPC_EmitInteger, MVT::i64, 0,
26272/* 53424*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
26273 MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
26274 // Src: (atomic_cmp_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 4
26275 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26276/* 53435*/ /*Scope*/ 22, /*->53458*/
26277/* 53436*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
26278/* 53438*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
26279/* 53440*/ OPC_EmitMergeInputChains1_0,
26280/* 53441*/ OPC_EmitInteger, MVT::i32, 0,
26281/* 53444*/ OPC_EmitInteger, MVT::i64, 0,
26282/* 53447*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
26283 MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
26284 // Src: (atomic_cmp_swap:{ *:[i32] } I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 4
26285 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32_A64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
26286/* 53458*/ 0, /*End of Scope*/
26287/* 53459*/ /*SwitchType*/ 22, MVT::i64,// ->53483
26288/* 53461*/ OPC_CheckPredicate, 9, // Predicate_atomic_cmp_swap_64
26289/* 53463*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasAddr64()) && (Subtarget->hasAtomics())
26290/* 53465*/ OPC_EmitMergeInputChains1_0,
26291/* 53466*/ OPC_EmitInteger, MVT::i32, 0,
26292/* 53469*/ OPC_EmitInteger, MVT::i64, 0,
26293/* 53472*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
26294 MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
26295 // Src: (atomic_cmp_swap:{ *:[i64] } I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 4
26296 // Dst: (ATOMIC_RMW_CMPXCHG_I64_A64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
26297/* 53483*/ 0, // EndSwitchType
26298/* 53484*/ 0, /*End of Scope*/
26299/* 53485*/ 0, /*End of Scope*/
26300/* 53486*/ /*SwitchOpcode*/ 16|128,1/*144*/, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->53634
26301/* 53490*/ OPC_Scope, 67, /*->53559*/ // 2 children in Scope
26302/* 53492*/ OPC_MoveChild0,
26303/* 53493*/ OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
26304/* 53496*/ OPC_RecordChild0, // #0 = $vec
26305/* 53497*/ OPC_Scope, 29, /*->53528*/ // 2 children in Scope
26306/* 53499*/ OPC_CheckChild0Type, MVT::v16i8,
26307/* 53501*/ OPC_RecordChild1, // #1 = $idx
26308/* 53502*/ OPC_MoveChild1,
26309/* 53503*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26310/* 53506*/ OPC_CheckPredicate, 4, // Predicate_LaneIdx16
26311/* 53508*/ OPC_CheckType, MVT::i32,
26312/* 53510*/ OPC_MoveParent,
26313/* 53511*/ OPC_MoveParent,
26314/* 53512*/ OPC_MoveChild1,
26315/* 53513*/ OPC_CheckValueType, MVT::i8,
26316/* 53515*/ OPC_MoveParent,
26317/* 53516*/ OPC_CheckType, MVT::i32,
26318/* 53518*/ OPC_EmitConvertToTarget, 1,
26319/* 53520*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I8x16_s), 0,
26320 MVT::i32, 2/*#Ops*/, 0, 2,
26321 // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx), i8:{ *:[Other] }) - Complexity = 10
26322 // Dst: (EXTRACT_LANE_I8x16_s:{ *:[i32] } ?:{ *:[v16i8] }:$vec, (imm:{ *:[i32] }):$idx)
26323/* 53528*/ /*Scope*/ 29, /*->53558*/
26324/* 53529*/ OPC_CheckChild0Type, MVT::v8i16,
26325/* 53531*/ OPC_RecordChild1, // #1 = $idx
26326/* 53532*/ OPC_MoveChild1,
26327/* 53533*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26328/* 53536*/ OPC_CheckPredicate, 5, // Predicate_LaneIdx8
26329/* 53538*/ OPC_CheckType, MVT::i32,
26330/* 53540*/ OPC_MoveParent,
26331/* 53541*/ OPC_MoveParent,
26332/* 53542*/ OPC_MoveChild1,
26333/* 53543*/ OPC_CheckValueType, MVT::i16,
26334/* 53545*/ OPC_MoveParent,
26335/* 53546*/ OPC_CheckType, MVT::i32,
26336/* 53548*/ OPC_EmitConvertToTarget, 1,
26337/* 53550*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I16x8_s), 0,
26338 MVT::i32, 2/*#Ops*/, 0, 2,
26339 // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx), i16:{ *:[Other] }) - Complexity = 10
26340 // Dst: (EXTRACT_LANE_I16x8_s:{ *:[i32] } ?:{ *:[v8i16] }:$vec, (imm:{ *:[i32] }):$idx)
26341/* 53558*/ 0, /*End of Scope*/
26342/* 53559*/ /*Scope*/ 73, /*->53633*/
26343/* 53560*/ OPC_RecordChild0, // #0 = $src
26344/* 53561*/ OPC_MoveChild1,
26345/* 53562*/ OPC_Scope, 27, /*->53591*/ // 3 children in Scope
26346/* 53564*/ OPC_CheckValueType, MVT::i8,
26347/* 53566*/ OPC_MoveParent,
26348/* 53567*/ OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->53579
26349/* 53570*/ OPC_CheckPatternPredicate, 11, // (Subtarget->hasSignExt())
26350/* 53572*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_EXTEND8_S_I32), 0,
26351 MVT::i32, 1/*#Ops*/, 0,
26352 // Src: (sext_inreg:{ *:[i32] } I32:{ *:[i32] }:$src, i8:{ *:[Other] }) - Complexity = 3
26353 // Dst: (I32_EXTEND8_S_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
26354/* 53579*/ /*SwitchType*/ 9, MVT::i64,// ->53590
26355/* 53581*/ OPC_CheckPatternPredicate, 11, // (Subtarget->hasSignExt())
26356/* 53583*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND8_S_I64), 0,
26357 MVT::i64, 1/*#Ops*/, 0,
26358 // Src: (sext_inreg:{ *:[i64] } I64:{ *:[i64] }:$src, i8:{ *:[Other] }) - Complexity = 3
26359 // Dst: (I64_EXTEND8_S_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
26360/* 53590*/ 0, // EndSwitchType
26361/* 53591*/ /*Scope*/ 27, /*->53619*/
26362/* 53592*/ OPC_CheckValueType, MVT::i16,
26363/* 53594*/ OPC_MoveParent,
26364/* 53595*/ OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->53607
26365/* 53598*/ OPC_CheckPatternPredicate, 11, // (Subtarget->hasSignExt())
26366/* 53600*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_EXTEND16_S_I32), 0,
26367 MVT::i32, 1/*#Ops*/, 0,
26368 // Src: (sext_inreg:{ *:[i32] } I32:{ *:[i32] }:$src, i16:{ *:[Other] }) - Complexity = 3
26369 // Dst: (I32_EXTEND16_S_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
26370/* 53607*/ /*SwitchType*/ 9, MVT::i64,// ->53618
26371/* 53609*/ OPC_CheckPatternPredicate, 11, // (Subtarget->hasSignExt())
26372/* 53611*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND16_S_I64), 0,
26373 MVT::i64, 1/*#Ops*/, 0,
26374 // Src: (sext_inreg:{ *:[i64] } I64:{ *:[i64] }:$src, i16:{ *:[Other] }) - Complexity = 3
26375 // Dst: (I64_EXTEND16_S_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
26376/* 53618*/ 0, // EndSwitchType
26377/* 53619*/ /*Scope*/ 12, /*->53632*/
26378/* 53620*/ OPC_CheckValueType, MVT::i32,
26379/* 53622*/ OPC_MoveParent,
26380/* 53623*/ OPC_CheckPatternPredicate, 11, // (Subtarget->hasSignExt())
26381/* 53625*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND32_S_I64), 0,
26382 MVT::i64, 1/*#Ops*/, 0,
26383 // Src: (sext_inreg:{ *:[i64] } I64:{ *:[i64] }:$src, i32:{ *:[Other] }) - Complexity = 3
26384 // Dst: (I64_EXTEND32_S_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
26385/* 53632*/ 0, /*End of Scope*/
26386/* 53633*/ 0, /*End of Scope*/
26387/* 53634*/ /*SwitchOpcode*/ 22, TARGET_VAL(ISD::CALLSEQ_START),// ->53659
26388/* 53637*/ OPC_RecordNode, // #0 = 'WebAssemblycallseq_start' chained node
26389/* 53638*/ OPC_RecordChild1, // #1 = $amt
26390/* 53639*/ OPC_MoveChild1,
26391/* 53640*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26392/* 53643*/ OPC_MoveParent,
26393/* 53644*/ OPC_RecordChild2, // #2 = $amt2
26394/* 53645*/ OPC_MoveChild2,
26395/* 53646*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26396/* 53649*/ OPC_MoveParent,
26397/* 53650*/ OPC_EmitMergeInputChains1_0,
26398/* 53651*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
26399 MVT::i32, 2/*#Ops*/, 1, 2,
26400 // Src: (WebAssemblycallseq_start (timm:{ *:[iPTR] }):$amt, (timm:{ *:[iPTR] }):$amt2) - Complexity = 9
26401 // Dst: (ADJCALLSTACKDOWN:{ *:[i32] } (timm:{ *:[i32] }):$amt, (timm:{ *:[i32] }):$amt2)
26402/* 53659*/ /*SwitchOpcode*/ 23, TARGET_VAL(ISD::CALLSEQ_END),// ->53685
26403/* 53662*/ OPC_RecordNode, // #0 = 'WebAssemblycallseq_end' chained node
26404/* 53663*/ OPC_CaptureGlueInput,
26405/* 53664*/ OPC_RecordChild1, // #1 = $amt
26406/* 53665*/ OPC_MoveChild1,
26407/* 53666*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26408/* 53669*/ OPC_MoveParent,
26409/* 53670*/ OPC_RecordChild2, // #2 = $amt2
26410/* 53671*/ OPC_MoveChild2,
26411/* 53672*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26412/* 53675*/ OPC_MoveParent,
26413/* 53676*/ OPC_EmitMergeInputChains1_0,
26414/* 53677*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
26415 MVT::i32, 2/*#Ops*/, 1, 2,
26416 // Src: (WebAssemblycallseq_end (timm:{ *:[iPTR] }):$amt, (timm:{ *:[iPTR] }):$amt2) - Complexity = 9
26417 // Dst: (ADJCALLSTACKUP:{ *:[i32] } (timm:{ *:[i32] }):$amt, (timm:{ *:[i32] }):$amt2)
26418/* 53685*/ /*SwitchOpcode*/ 21, TARGET_VAL(WebAssemblyISD::THROW),// ->53709
26419/* 53688*/ OPC_RecordNode, // #0 = 'WebAssemblythrow' chained node
26420/* 53689*/ OPC_MoveChild1,
26421/* 53690*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
26422/* 53693*/ OPC_RecordChild0, // #1 = $tag
26423/* 53694*/ OPC_MoveChild0,
26424/* 53695*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
26425/* 53698*/ OPC_MoveParent,
26426/* 53699*/ OPC_MoveParent,
26427/* 53700*/ OPC_CheckPatternPredicate, 9, // (Subtarget->hasExceptionHandling())
26428/* 53702*/ OPC_EmitMergeInputChains1_0,
26429/* 53703*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::THROW), 0|OPFL_Chain|OPFL_Variadic1,
26430 1/*#Ops*/, 1,
26431 // Src: (WebAssemblythrow (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$tag)) - Complexity = 9
26432 // Dst: (THROW (texternalsym:{ *:[i32] }):$tag)
26433/* 53709*/ /*SwitchOpcode*/ 24, TARGET_VAL(WebAssemblyISD::CATCH),// ->53736
26434/* 53712*/ OPC_RecordNode, // #0 = 'WebAssemblycatch' chained node
26435/* 53713*/ OPC_MoveChild1,
26436/* 53714*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
26437/* 53717*/ OPC_RecordChild0, // #1 = $tag
26438/* 53718*/ OPC_MoveChild0,
26439/* 53719*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
26440/* 53722*/ OPC_MoveParent,
26441/* 53723*/ OPC_MoveParent,
26442/* 53724*/ OPC_CheckType, MVT::i32,
26443/* 53726*/ OPC_CheckPatternPredicate, 9, // (Subtarget->hasExceptionHandling())
26444/* 53728*/ OPC_EmitMergeInputChains1_0,
26445/* 53729*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CATCH), 0|OPFL_Chain,
26446 MVT::i32, 1/*#Ops*/, 1,
26447 // Src: (WebAssemblycatch:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$tag)) - Complexity = 9
26448 // Dst: (CATCH:{ *:[i32] } (texternalsym:{ *:[i32] }):$tag)
26449/* 53736*/ /*SwitchOpcode*/ 72, TARGET_VAL(WebAssemblyISD::MEMORY_COPY),// ->53811
26450/* 53739*/ OPC_RecordNode, // #0 = 'wasm_memcpy' chained node
26451/* 53740*/ OPC_RecordChild1, // #1 = $src_idx
26452/* 53741*/ OPC_MoveChild1,
26453/* 53742*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26454/* 53745*/ OPC_CheckType, MVT::i32,
26455/* 53747*/ OPC_MoveParent,
26456/* 53748*/ OPC_RecordChild2, // #2 = $dst_idx
26457/* 53749*/ OPC_MoveChild2,
26458/* 53750*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26459/* 53753*/ OPC_CheckType, MVT::i32,
26460/* 53755*/ OPC_MoveParent,
26461/* 53756*/ OPC_RecordChild3, // #3 = $dst
26462/* 53757*/ OPC_Scope, 25, /*->53784*/ // 2 children in Scope
26463/* 53759*/ OPC_CheckChild3Type, MVT::i32,
26464/* 53761*/ OPC_RecordChild4, // #4 = $src
26465/* 53762*/ OPC_CheckChild4Type, MVT::i32,
26466/* 53764*/ OPC_RecordChild5, // #5 = $len
26467/* 53765*/ OPC_CheckChild5Type, MVT::i32,
26468/* 53767*/ OPC_CheckPatternPredicate, 12, // (Subtarget->hasBulkMemory())
26469/* 53769*/ OPC_EmitMergeInputChains1_0,
26470/* 53770*/ OPC_EmitConvertToTarget, 1,
26471/* 53772*/ OPC_EmitConvertToTarget, 2,
26472/* 53774*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::anonymous_4565MEMORY_COPY_A32), 0|OPFL_Chain,
26473 5/*#Ops*/, 6, 7, 3, 4, 5,
26474 // Src: (wasm_memcpy (imm:{ *:[i32] }):$src_idx, (imm:{ *:[i32] }):$dst_idx, I32:{ *:[i32] }:$dst, I32:{ *:[i32] }:$src, I32:{ *:[i32] }:$len) - Complexity = 9
26475 // Dst: (anonymous_4565MEMORY_COPY_A32 (imm:{ *:[i32] }):$src_idx, (imm:{ *:[i32] }):$dst_idx, I32:{ *:[i32] }:$dst, I32:{ *:[i32] }:$src, I32:{ *:[i32] }:$len)
26476/* 53784*/ /*Scope*/ 25, /*->53810*/
26477/* 53785*/ OPC_CheckChild3Type, MVT::i64,
26478/* 53787*/ OPC_RecordChild4, // #4 = $src
26479/* 53788*/ OPC_CheckChild4Type, MVT::i64,
26480/* 53790*/ OPC_RecordChild5, // #5 = $len
26481/* 53791*/ OPC_CheckChild5Type, MVT::i64,
26482/* 53793*/ OPC_CheckPatternPredicate, 12, // (Subtarget->hasBulkMemory())
26483/* 53795*/ OPC_EmitMergeInputChains1_0,
26484/* 53796*/ OPC_EmitConvertToTarget, 1,
26485/* 53798*/ OPC_EmitConvertToTarget, 2,
26486/* 53800*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::anonymous_4566MEMORY_COPY_A64), 0|OPFL_Chain,
26487 5/*#Ops*/, 6, 7, 3, 4, 5,
26488 // Src: (wasm_memcpy (imm:{ *:[i32] }):$src_idx, (imm:{ *:[i32] }):$dst_idx, I64:{ *:[i64] }:$dst, I64:{ *:[i64] }:$src, I64:{ *:[i64] }:$len) - Complexity = 9
26489 // Dst: (anonymous_4566MEMORY_COPY_A64 (imm:{ *:[i32] }):$src_idx, (imm:{ *:[i32] }):$dst_idx, I64:{ *:[i64] }:$dst, I64:{ *:[i64] }:$src, I64:{ *:[i64] }:$len)
26490/* 53810*/ 0, /*End of Scope*/
26491/* 53811*/ /*SwitchOpcode*/ 110|128,12/*1646*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->55461
26492/* 53815*/ OPC_Scope, 64, /*->53881*/ // 43 children in Scope
26493/* 53817*/ OPC_CheckChild0Integer, 75|128,67/*8651*/,
26494/* 53820*/ OPC_RecordChild1, // #0 = $src
26495/* 53821*/ OPC_Scope, 22, /*->53845*/ // 3 children in Scope
26496/* 53823*/ OPC_CheckChild1Type, MVT::f32,
26497/* 53825*/ OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->53835
26498/* 53828*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F32), 0,
26499 MVT::i32, 1/*#Ops*/, 0,
26500 // Src: (intrinsic_wo_chain:{ *:[i32] } 8651:{ *:[iPTR] }, F32:{ *:[f32] }:$src) - Complexity = 8
26501 // Dst: (I32_TRUNC_S_SAT_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
26502/* 53835*/ /*SwitchType*/ 7, MVT::i64,// ->53844
26503/* 53837*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F32), 0,
26504 MVT::i64, 1/*#Ops*/, 0,
26505 // Src: (intrinsic_wo_chain:{ *:[i64] } 8651:{ *:[iPTR] }, F32:{ *:[f32] }:$src) - Complexity = 8
26506 // Dst: (I64_TRUNC_S_SAT_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
26507/* 53844*/ 0, // EndSwitchType
26508/* 53845*/ /*Scope*/ 22, /*->53868*/
26509/* 53846*/ OPC_CheckChild1Type, MVT::f64,
26510/* 53848*/ OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->53858
26511/* 53851*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F64), 0,
26512 MVT::i32, 1/*#Ops*/, 0,
26513 // Src: (intrinsic_wo_chain:{ *:[i32] } 8651:{ *:[iPTR] }, F64:{ *:[f64] }:$src) - Complexity = 8
26514 // Dst: (I32_TRUNC_S_SAT_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
26515/* 53858*/ /*SwitchType*/ 7, MVT::i64,// ->53867
26516/* 53860*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F64), 0,
26517 MVT::i64, 1/*#Ops*/, 0,
26518 // Src: (intrinsic_wo_chain:{ *:[i64] } 8651:{ *:[iPTR] }, F64:{ *:[f64] }:$src) - Complexity = 8
26519 // Dst: (I64_TRUNC_S_SAT_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
26520/* 53867*/ 0, // EndSwitchType
26521/* 53868*/ /*Scope*/ 11, /*->53880*/
26522/* 53869*/ OPC_CheckChild1Type, MVT::v4f32,
26523/* 53871*/ OPC_CheckType, MVT::v4i32,
26524/* 53873*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_sint_I32x4), 0,
26525 MVT::v4i32, 1/*#Ops*/, 0,
26526 // Src: (intrinsic_wo_chain:{ *:[v4i32] } 8651:{ *:[iPTR] }, V128:{ *:[v4f32] }:$src) - Complexity = 8
26527 // Dst: (fp_to_sint_I32x4:{ *:[v4i32] } ?:{ *:[v4f32] }:$src)
26528/* 53880*/ 0, /*End of Scope*/
26529/* 53881*/ /*Scope*/ 64, /*->53946*/
26530/* 53882*/ OPC_CheckChild0Integer, 76|128,67/*8652*/,
26531/* 53885*/ OPC_RecordChild1, // #0 = $src
26532/* 53886*/ OPC_Scope, 22, /*->53910*/ // 3 children in Scope
26533/* 53888*/ OPC_CheckChild1Type, MVT::f32,
26534/* 53890*/ OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->53900
26535/* 53893*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F32), 0,
26536 MVT::i32, 1/*#Ops*/, 0,
26537 // Src: (intrinsic_wo_chain:{ *:[i32] } 8652:{ *:[iPTR] }, F32:{ *:[f32] }:$src) - Complexity = 8
26538 // Dst: (I32_TRUNC_U_SAT_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
26539/* 53900*/ /*SwitchType*/ 7, MVT::i64,// ->53909
26540/* 53902*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F32), 0,
26541 MVT::i64, 1/*#Ops*/, 0,
26542 // Src: (intrinsic_wo_chain:{ *:[i64] } 8652:{ *:[iPTR] }, F32:{ *:[f32] }:$src) - Complexity = 8
26543 // Dst: (I64_TRUNC_U_SAT_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
26544/* 53909*/ 0, // EndSwitchType
26545/* 53910*/ /*Scope*/ 22, /*->53933*/
26546/* 53911*/ OPC_CheckChild1Type, MVT::f64,
26547/* 53913*/ OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->53923
26548/* 53916*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F64), 0,
26549 MVT::i32, 1/*#Ops*/, 0,
26550 // Src: (intrinsic_wo_chain:{ *:[i32] } 8652:{ *:[iPTR] }, F64:{ *:[f64] }:$src) - Complexity = 8
26551 // Dst: (I32_TRUNC_U_SAT_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
26552/* 53923*/ /*SwitchType*/ 7, MVT::i64,// ->53932
26553/* 53925*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F64), 0,
26554 MVT::i64, 1/*#Ops*/, 0,
26555 // Src: (intrinsic_wo_chain:{ *:[i64] } 8652:{ *:[iPTR] }, F64:{ *:[f64] }:$src) - Complexity = 8
26556 // Dst: (I64_TRUNC_U_SAT_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
26557/* 53932*/ 0, // EndSwitchType
26558/* 53933*/ /*Scope*/ 11, /*->53945*/
26559/* 53934*/ OPC_CheckChild1Type, MVT::v4f32,
26560/* 53936*/ OPC_CheckType, MVT::v4i32,
26561/* 53938*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_uint_I32x4), 0,
26562 MVT::v4i32, 1/*#Ops*/, 0,
26563 // Src: (intrinsic_wo_chain:{ *:[v4i32] } 8652:{ *:[iPTR] }, V128:{ *:[v4f32] }:$src) - Complexity = 8
26564 // Dst: (fp_to_uint_I32x4:{ *:[v4i32] } ?:{ *:[v4f32] }:$src)
26565/* 53945*/ 0, /*End of Scope*/
26566/* 53946*/ /*Scope*/ 52, /*->53999*/
26567/* 53947*/ OPC_CheckChild0Integer, 79|128,67/*8655*/,
26568/* 53950*/ OPC_RecordChild1, // #0 = $src
26569/* 53951*/ OPC_Scope, 22, /*->53975*/ // 2 children in Scope
26570/* 53953*/ OPC_CheckChild1Type, MVT::f32,
26571/* 53955*/ OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->53965
26572/* 53958*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_S_F32), 0,
26573 MVT::i32, 1/*#Ops*/, 0,
26574 // Src: (intrinsic_wo_chain:{ *:[i32] } 8655:{ *:[iPTR] }, F32:{ *:[f32] }:$src) - Complexity = 8
26575 // Dst: (I32_TRUNC_S_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
26576/* 53965*/ /*SwitchType*/ 7, MVT::i64,// ->53974
26577/* 53967*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_S_F32), 0,
26578 MVT::i64, 1/*#Ops*/, 0,
26579 // Src: (intrinsic_wo_chain:{ *:[i64] } 8655:{ *:[iPTR] }, F32:{ *:[f32] }:$src) - Complexity = 8
26580 // Dst: (I64_TRUNC_S_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
26581/* 53974*/ 0, // EndSwitchType
26582/* 53975*/ /*Scope*/ 22, /*->53998*/
26583/* 53976*/ OPC_CheckChild1Type, MVT::f64,
26584/* 53978*/ OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->53988
26585/* 53981*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_S_F64), 0,
26586 MVT::i32, 1/*#Ops*/, 0,
26587 // Src: (intrinsic_wo_chain:{ *:[i32] } 8655:{ *:[iPTR] }, F64:{ *:[f64] }:$src) - Complexity = 8
26588 // Dst: (I32_TRUNC_S_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
26589/* 53988*/ /*SwitchType*/ 7, MVT::i64,// ->53997
26590/* 53990*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_S_F64), 0,
26591 MVT::i64, 1/*#Ops*/, 0,
26592 // Src: (intrinsic_wo_chain:{ *:[i64] } 8655:{ *:[iPTR] }, F64:{ *:[f64] }:$src) - Complexity = 8
26593 // Dst: (I64_TRUNC_S_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
26594/* 53997*/ 0, // EndSwitchType
26595/* 53998*/ 0, /*End of Scope*/
26596/* 53999*/ /*Scope*/ 52, /*->54052*/
26597/* 54000*/ OPC_CheckChild0Integer, 80|128,67/*8656*/,
26598/* 54003*/ OPC_RecordChild1, // #0 = $src
26599/* 54004*/ OPC_Scope, 22, /*->54028*/ // 2 children in Scope
26600/* 54006*/ OPC_CheckChild1Type, MVT::f32,
26601/* 54008*/ OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->54018
26602/* 54011*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_U_F32), 0,
26603 MVT::i32, 1/*#Ops*/, 0,
26604 // Src: (intrinsic_wo_chain:{ *:[i32] } 8656:{ *:[iPTR] }, F32:{ *:[f32] }:$src) - Complexity = 8
26605 // Dst: (I32_TRUNC_U_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
26606/* 54018*/ /*SwitchType*/ 7, MVT::i64,// ->54027
26607/* 54020*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_U_F32), 0,
26608 MVT::i64, 1/*#Ops*/, 0,
26609 // Src: (intrinsic_wo_chain:{ *:[i64] } 8656:{ *:[iPTR] }, F32:{ *:[f32] }:$src) - Complexity = 8
26610 // Dst: (I64_TRUNC_U_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
26611/* 54027*/ 0, // EndSwitchType
26612/* 54028*/ /*Scope*/ 22, /*->54051*/
26613/* 54029*/ OPC_CheckChild1Type, MVT::f64,
26614/* 54031*/ OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->54041
26615/* 54034*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_U_F64), 0,
26616 MVT::i32, 1/*#Ops*/, 0,
26617 // Src: (intrinsic_wo_chain:{ *:[i32] } 8656:{ *:[iPTR] }, F64:{ *:[f64] }:$src) - Complexity = 8
26618 // Dst: (I32_TRUNC_U_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
26619/* 54041*/ /*SwitchType*/ 7, MVT::i64,// ->54050
26620/* 54043*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_U_F64), 0,
26621 MVT::i64, 1/*#Ops*/, 0,
26622 // Src: (intrinsic_wo_chain:{ *:[i64] } 8656:{ *:[iPTR] }, F64:{ *:[f64] }:$src) - Complexity = 8
26623 // Dst: (I64_TRUNC_U_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
26624/* 54050*/ 0, // EndSwitchType
26625/* 54051*/ 0, /*End of Scope*/
26626/* 54052*/ /*Scope*/ 54, /*->54107*/
26627/* 54053*/ OPC_CheckChild0Integer, 15|128,67/*8591*/,
26628/* 54056*/ OPC_RecordChild1, // #0 = $vec
26629/* 54057*/ OPC_Scope, 11, /*->54070*/ // 4 children in Scope
26630/* 54059*/ OPC_CheckChild1Type, MVT::v16i8,
26631/* 54061*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26632/* 54063*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_I8x16), 0,
26633 MVT::i32, 1/*#Ops*/, 0,
26634 // Src: (intrinsic_wo_chain:{ *:[i32] } 8591:{ *:[iPTR] }, V128:{ *:[v16i8] }:$vec) - Complexity = 8
26635 // Dst: (ANYTRUE_I8x16:{ *:[i32] } V128:{ *:[v16i8] }:$vec)
26636/* 54070*/ /*Scope*/ 11, /*->54082*/
26637/* 54071*/ OPC_CheckChild1Type, MVT::v8i16,
26638/* 54073*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26639/* 54075*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_I16x8), 0,
26640 MVT::i32, 1/*#Ops*/, 0,
26641 // Src: (intrinsic_wo_chain:{ *:[i32] } 8591:{ *:[iPTR] }, V128:{ *:[v8i16] }:$vec) - Complexity = 8
26642 // Dst: (ANYTRUE_I16x8:{ *:[i32] } V128:{ *:[v8i16] }:$vec)
26643/* 54082*/ /*Scope*/ 11, /*->54094*/
26644/* 54083*/ OPC_CheckChild1Type, MVT::v4i32,
26645/* 54085*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26646/* 54087*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_I32x4), 0,
26647 MVT::i32, 1/*#Ops*/, 0,
26648 // Src: (intrinsic_wo_chain:{ *:[i32] } 8591:{ *:[iPTR] }, V128:{ *:[v4i32] }:$vec) - Complexity = 8
26649 // Dst: (ANYTRUE_I32x4:{ *:[i32] } V128:{ *:[v4i32] }:$vec)
26650/* 54094*/ /*Scope*/ 11, /*->54106*/
26651/* 54095*/ OPC_CheckChild1Type, MVT::v2i64,
26652/* 54097*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26653/* 54099*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_I64x2), 0,
26654 MVT::i32, 1/*#Ops*/, 0,
26655 // Src: (intrinsic_wo_chain:{ *:[i32] } 8591:{ *:[iPTR] }, V128:{ *:[v2i64] }:$vec) - Complexity = 8
26656 // Dst: (ANYTRUE_I64x2:{ *:[i32] } V128:{ *:[v2i64] }:$vec)
26657/* 54106*/ 0, /*End of Scope*/
26658/* 54107*/ /*Scope*/ 54, /*->54162*/
26659/* 54108*/ OPC_CheckChild0Integer, 14|128,67/*8590*/,
26660/* 54111*/ OPC_RecordChild1, // #0 = $vec
26661/* 54112*/ OPC_Scope, 11, /*->54125*/ // 4 children in Scope
26662/* 54114*/ OPC_CheckChild1Type, MVT::v16i8,
26663/* 54116*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26664/* 54118*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_I8x16), 0,
26665 MVT::i32, 1/*#Ops*/, 0,
26666 // Src: (intrinsic_wo_chain:{ *:[i32] } 8590:{ *:[iPTR] }, V128:{ *:[v16i8] }:$vec) - Complexity = 8
26667 // Dst: (ALLTRUE_I8x16:{ *:[i32] } V128:{ *:[v16i8] }:$vec)
26668/* 54125*/ /*Scope*/ 11, /*->54137*/
26669/* 54126*/ OPC_CheckChild1Type, MVT::v8i16,
26670/* 54128*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26671/* 54130*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_I16x8), 0,
26672 MVT::i32, 1/*#Ops*/, 0,
26673 // Src: (intrinsic_wo_chain:{ *:[i32] } 8590:{ *:[iPTR] }, V128:{ *:[v8i16] }:$vec) - Complexity = 8
26674 // Dst: (ALLTRUE_I16x8:{ *:[i32] } V128:{ *:[v8i16] }:$vec)
26675/* 54137*/ /*Scope*/ 11, /*->54149*/
26676/* 54138*/ OPC_CheckChild1Type, MVT::v4i32,
26677/* 54140*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26678/* 54142*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_I32x4), 0,
26679 MVT::i32, 1/*#Ops*/, 0,
26680 // Src: (intrinsic_wo_chain:{ *:[i32] } 8590:{ *:[iPTR] }, V128:{ *:[v4i32] }:$vec) - Complexity = 8
26681 // Dst: (ALLTRUE_I32x4:{ *:[i32] } V128:{ *:[v4i32] }:$vec)
26682/* 54149*/ /*Scope*/ 11, /*->54161*/
26683/* 54150*/ OPC_CheckChild1Type, MVT::v2i64,
26684/* 54152*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26685/* 54154*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_I64x2), 0,
26686 MVT::i32, 1/*#Ops*/, 0,
26687 // Src: (intrinsic_wo_chain:{ *:[i32] } 8590:{ *:[iPTR] }, V128:{ *:[v2i64] }:$vec) - Complexity = 8
26688 // Dst: (ALLTRUE_I64x2:{ *:[i32] } V128:{ *:[v2i64] }:$vec)
26689/* 54161*/ 0, /*End of Scope*/
26690/* 54162*/ /*Scope*/ 54, /*->54217*/
26691/* 54163*/ OPC_CheckChild0Integer, 17|128,67/*8593*/,
26692/* 54166*/ OPC_RecordChild1, // #0 = $vec
26693/* 54167*/ OPC_Scope, 11, /*->54180*/ // 4 children in Scope
26694/* 54169*/ OPC_CheckChild1Type, MVT::v16i8,
26695/* 54171*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26696/* 54173*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITMASK_I8x16), 0,
26697 MVT::i32, 1/*#Ops*/, 0,
26698 // Src: (intrinsic_wo_chain:{ *:[i32] } 8593:{ *:[iPTR] }, V128:{ *:[v16i8] }:$vec) - Complexity = 8
26699 // Dst: (BITMASK_I8x16:{ *:[i32] } V128:{ *:[v16i8] }:$vec)
26700/* 54180*/ /*Scope*/ 11, /*->54192*/
26701/* 54181*/ OPC_CheckChild1Type, MVT::v8i16,
26702/* 54183*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26703/* 54185*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITMASK_I16x8), 0,
26704 MVT::i32, 1/*#Ops*/, 0,
26705 // Src: (intrinsic_wo_chain:{ *:[i32] } 8593:{ *:[iPTR] }, V128:{ *:[v8i16] }:$vec) - Complexity = 8
26706 // Dst: (BITMASK_I16x8:{ *:[i32] } V128:{ *:[v8i16] }:$vec)
26707/* 54192*/ /*Scope*/ 11, /*->54204*/
26708/* 54193*/ OPC_CheckChild1Type, MVT::v4i32,
26709/* 54195*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26710/* 54197*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITMASK_I32x4), 0,
26711 MVT::i32, 1/*#Ops*/, 0,
26712 // Src: (intrinsic_wo_chain:{ *:[i32] } 8593:{ *:[iPTR] }, V128:{ *:[v4i32] }:$vec) - Complexity = 8
26713 // Dst: (BITMASK_I32x4:{ *:[i32] } V128:{ *:[v4i32] }:$vec)
26714/* 54204*/ /*Scope*/ 11, /*->54216*/
26715/* 54205*/ OPC_CheckChild1Type, MVT::v2i64,
26716/* 54207*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26717/* 54209*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITMASK_I64x2), 0,
26718 MVT::i32, 1/*#Ops*/, 0,
26719 // Src: (intrinsic_wo_chain:{ *:[i32] } 8593:{ *:[iPTR] }, V128:{ *:[v2i64] }:$vec) - Complexity = 8
26720 // Dst: (BITMASK_I64x2:{ *:[i32] } V128:{ *:[v2i64] }:$vec)
26721/* 54216*/ 0, /*End of Scope*/
26722/* 54217*/ /*Scope*/ 13, /*->54231*/
26723/* 54218*/ OPC_CheckChild0Integer, 69|128,67/*8645*/,
26724/* 54221*/ OPC_RecordChild1, // #0 = $src
26725/* 54222*/ OPC_RecordChild2, // #1 = $mask
26726/* 54223*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SWIZZLE), 0,
26727 MVT::v16i8, 2/*#Ops*/, 0, 1,
26728 // Src: (intrinsic_wo_chain:{ *:[v16i8] } 8645:{ *:[iPTR] }, V128:{ *:[v16i8] }:$src, V128:{ *:[v16i8] }:$mask) - Complexity = 8
26729 // Dst: (SWIZZLE:{ *:[v16i8] } ?:{ *:[v16i8] }:$src, ?:{ *:[v16i8] }:$mask)
26730/* 54231*/ /*Scope*/ 15, /*->54247*/
26731/* 54232*/ OPC_CheckChild0Integer, 25|128,67/*8601*/,
26732/* 54235*/ OPC_RecordChild1, // #0 = $lhs
26733/* 54236*/ OPC_RecordChild2, // #1 = $rhs
26734/* 54237*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26735/* 54239*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_v2i64), 0,
26736 MVT::v2i64, 2/*#Ops*/, 0, 1,
26737 // Src: (intrinsic_wo_chain:{ *:[v2i64] } 8601:{ *:[iPTR] }, V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 8
26738 // Dst: (EQ_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs)
26739/* 54247*/ /*Scope*/ 120, /*->54368*/
26740/* 54248*/ OPC_CheckChild0Integer, 18|128,67/*8594*/,
26741/* 54251*/ OPC_RecordChild1, // #0 = $v1
26742/* 54252*/ OPC_SwitchType /*6 cases */, 17, MVT::v16i8,// ->54272
26743/* 54255*/ OPC_CheckChild1Type, MVT::v16i8,
26744/* 54257*/ OPC_RecordChild2, // #1 = $v2
26745/* 54258*/ OPC_CheckChild2Type, MVT::v16i8,
26746/* 54260*/ OPC_RecordChild3, // #2 = $c
26747/* 54261*/ OPC_CheckChild3Type, MVT::v16i8,
26748/* 54263*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
26749 MVT::v16i8, 3/*#Ops*/, 0, 1, 2,
26750 // Src: (intrinsic_wo_chain:{ *:[v16i8] } 8594:{ *:[iPTR] }, V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c) - Complexity = 8
26751 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
26752/* 54272*/ /*SwitchType*/ 17, MVT::v8i16,// ->54291
26753/* 54274*/ OPC_CheckChild1Type, MVT::v8i16,
26754/* 54276*/ OPC_RecordChild2, // #1 = $v2
26755/* 54277*/ OPC_CheckChild2Type, MVT::v8i16,
26756/* 54279*/ OPC_RecordChild3, // #2 = $c
26757/* 54280*/ OPC_CheckChild3Type, MVT::v8i16,
26758/* 54282*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
26759 MVT::v8i16, 3/*#Ops*/, 0, 1, 2,
26760 // Src: (intrinsic_wo_chain:{ *:[v8i16] } 8594:{ *:[iPTR] }, V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c) - Complexity = 8
26761 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
26762/* 54291*/ /*SwitchType*/ 17, MVT::v4i32,// ->54310
26763/* 54293*/ OPC_CheckChild1Type, MVT::v4i32,
26764/* 54295*/ OPC_RecordChild2, // #1 = $v2
26765/* 54296*/ OPC_CheckChild2Type, MVT::v4i32,
26766/* 54298*/ OPC_RecordChild3, // #2 = $c
26767/* 54299*/ OPC_CheckChild3Type, MVT::v4i32,
26768/* 54301*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
26769 MVT::v4i32, 3/*#Ops*/, 0, 1, 2,
26770 // Src: (intrinsic_wo_chain:{ *:[v4i32] } 8594:{ *:[iPTR] }, V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c) - Complexity = 8
26771 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
26772/* 54310*/ /*SwitchType*/ 17, MVT::v2i64,// ->54329
26773/* 54312*/ OPC_CheckChild1Type, MVT::v2i64,
26774/* 54314*/ OPC_RecordChild2, // #1 = $v2
26775/* 54315*/ OPC_CheckChild2Type, MVT::v2i64,
26776/* 54317*/ OPC_RecordChild3, // #2 = $c
26777/* 54318*/ OPC_CheckChild3Type, MVT::v2i64,
26778/* 54320*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
26779 MVT::v2i64, 3/*#Ops*/, 0, 1, 2,
26780 // Src: (intrinsic_wo_chain:{ *:[v2i64] } 8594:{ *:[iPTR] }, V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c) - Complexity = 8
26781 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
26782/* 54329*/ /*SwitchType*/ 17, MVT::v4f32,// ->54348
26783/* 54331*/ OPC_CheckChild1Type, MVT::v4f32,
26784/* 54333*/ OPC_RecordChild2, // #1 = $v2
26785/* 54334*/ OPC_CheckChild2Type, MVT::v4f32,
26786/* 54336*/ OPC_RecordChild3, // #2 = $c
26787/* 54337*/ OPC_CheckChild3Type, MVT::v4f32,
26788/* 54339*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
26789 MVT::v4f32, 3/*#Ops*/, 0, 1, 2,
26790 // Src: (intrinsic_wo_chain:{ *:[v4f32] } 8594:{ *:[iPTR] }, V128:{ *:[v4f32] }:$v1, V128:{ *:[v4f32] }:$v2, V128:{ *:[v4f32] }:$c) - Complexity = 8
26791 // Dst: (BITSELECT:{ *:[v4f32] } ?:{ *:[v4f32] }:$v1, ?:{ *:[v4f32] }:$v2, ?:{ *:[v4f32] }:$c)
26792/* 54348*/ /*SwitchType*/ 17, MVT::v2f64,// ->54367
26793/* 54350*/ OPC_CheckChild1Type, MVT::v2f64,
26794/* 54352*/ OPC_RecordChild2, // #1 = $v2
26795/* 54353*/ OPC_CheckChild2Type, MVT::v2f64,
26796/* 54355*/ OPC_RecordChild3, // #2 = $c
26797/* 54356*/ OPC_CheckChild3Type, MVT::v2f64,
26798/* 54358*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
26799 MVT::v2f64, 3/*#Ops*/, 0, 1, 2,
26800 // Src: (intrinsic_wo_chain:{ *:[v2f64] } 8594:{ *:[iPTR] }, V128:{ *:[v2f64] }:$v1, V128:{ *:[v2f64] }:$v2, V128:{ *:[v2f64] }:$c) - Complexity = 8
26801 // Dst: (BITSELECT:{ *:[v2f64] } ?:{ *:[v2f64] }:$v1, ?:{ *:[v2f64] }:$v2, ?:{ *:[v2f64] }:$c)
26802/* 54367*/ 0, // EndSwitchType
26803/* 54368*/ /*Scope*/ 90, /*->54459*/
26804/* 54369*/ OPC_CheckChild0Integer, 62|128,67/*8638*/,
26805/* 54372*/ OPC_RecordChild1, // #0 = $v1
26806/* 54373*/ OPC_SwitchType /*4 cases */, 19, MVT::v16i8,// ->54395
26807/* 54376*/ OPC_CheckChild1Type, MVT::v16i8,
26808/* 54378*/ OPC_RecordChild2, // #1 = $v2
26809/* 54379*/ OPC_CheckChild2Type, MVT::v16i8,
26810/* 54381*/ OPC_RecordChild3, // #2 = $c
26811/* 54382*/ OPC_CheckChild3Type, MVT::v16i8,
26812/* 54384*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26813/* 54386*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::anonymous_4462SIGNSELECT_I8x16), 0,
26814 MVT::v16i8, 3/*#Ops*/, 0, 1, 2,
26815 // Src: (intrinsic_wo_chain:{ *:[v16i8] } 8638:{ *:[iPTR] }, V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c) - Complexity = 8
26816 // Dst: (anonymous_4462SIGNSELECT_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
26817/* 54395*/ /*SwitchType*/ 19, MVT::v8i16,// ->54416
26818/* 54397*/ OPC_CheckChild1Type, MVT::v8i16,
26819/* 54399*/ OPC_RecordChild2, // #1 = $v2
26820/* 54400*/ OPC_CheckChild2Type, MVT::v8i16,
26821/* 54402*/ OPC_RecordChild3, // #2 = $c
26822/* 54403*/ OPC_CheckChild3Type, MVT::v8i16,
26823/* 54405*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26824/* 54407*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::anonymous_4463SIGNSELECT_I16x8), 0,
26825 MVT::v8i16, 3/*#Ops*/, 0, 1, 2,
26826 // Src: (intrinsic_wo_chain:{ *:[v8i16] } 8638:{ *:[iPTR] }, V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c) - Complexity = 8
26827 // Dst: (anonymous_4463SIGNSELECT_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
26828/* 54416*/ /*SwitchType*/ 19, MVT::v4i32,// ->54437
26829/* 54418*/ OPC_CheckChild1Type, MVT::v4i32,
26830/* 54420*/ OPC_RecordChild2, // #1 = $v2
26831/* 54421*/ OPC_CheckChild2Type, MVT::v4i32,
26832/* 54423*/ OPC_RecordChild3, // #2 = $c
26833/* 54424*/ OPC_CheckChild3Type, MVT::v4i32,
26834/* 54426*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26835/* 54428*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::anonymous_4464SIGNSELECT_I32x4), 0,
26836 MVT::v4i32, 3/*#Ops*/, 0, 1, 2,
26837 // Src: (intrinsic_wo_chain:{ *:[v4i32] } 8638:{ *:[iPTR] }, V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c) - Complexity = 8
26838 // Dst: (anonymous_4464SIGNSELECT_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
26839/* 54437*/ /*SwitchType*/ 19, MVT::v2i64,// ->54458
26840/* 54439*/ OPC_CheckChild1Type, MVT::v2i64,
26841/* 54441*/ OPC_RecordChild2, // #1 = $v2
26842/* 54442*/ OPC_CheckChild2Type, MVT::v2i64,
26843/* 54444*/ OPC_RecordChild3, // #2 = $c
26844/* 54445*/ OPC_CheckChild3Type, MVT::v2i64,
26845/* 54447*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26846/* 54449*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::anonymous_4465SIGNSELECT_I64x2), 0,
26847 MVT::v2i64, 3/*#Ops*/, 0, 1, 2,
26848 // Src: (intrinsic_wo_chain:{ *:[v2i64] } 8638:{ *:[iPTR] }, V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c) - Complexity = 8
26849 // Dst: (anonymous_4465SIGNSELECT_I64x2:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
26850/* 54458*/ 0, // EndSwitchType
26851/* 54459*/ /*Scope*/ 13, /*->54473*/
26852/* 54460*/ OPC_CheckChild0Integer, 53|128,67/*8629*/,
26853/* 54463*/ OPC_RecordChild1, // #0 = $v
26854/* 54464*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26855/* 54466*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::POPCNT_I8x16), 0,
26856 MVT::v16i8, 1/*#Ops*/, 0,
26857 // Src: (intrinsic_wo_chain:{ *:[v16i8] } 8629:{ *:[iPTR] }, V128:{ *:[v16i8] }:$v) - Complexity = 8
26858 // Dst: (POPCNT_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$v)
26859/* 54473*/ /*Scope*/ 40, /*->54514*/
26860/* 54474*/ OPC_CheckChild0Integer, 67|128,67/*8643*/,
26861/* 54477*/ OPC_RecordChild1, // #0 = $lhs
26862/* 54478*/ OPC_SwitchType /*2 cases */, 15, MVT::v16i8,// ->54496
26863/* 54481*/ OPC_CheckChild1Type, MVT::v16i8,
26864/* 54483*/ OPC_RecordChild2, // #1 = $rhs
26865/* 54484*/ OPC_CheckChild2Type, MVT::v16i8,
26866/* 54486*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26867/* 54488*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_SAT_S_I8x16), 0,
26868 MVT::v16i8, 2/*#Ops*/, 0, 1,
26869 // Src: (intrinsic_wo_chain:{ *:[v16i8] } 8643:{ *:[iPTR] }, V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 8
26870 // Dst: (SUB_SAT_S_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
26871/* 54496*/ /*SwitchType*/ 15, MVT::v8i16,// ->54513
26872/* 54498*/ OPC_CheckChild1Type, MVT::v8i16,
26873/* 54500*/ OPC_RecordChild2, // #1 = $rhs
26874/* 54501*/ OPC_CheckChild2Type, MVT::v8i16,
26875/* 54503*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26876/* 54505*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_SAT_S_I16x8), 0,
26877 MVT::v8i16, 2/*#Ops*/, 0, 1,
26878 // Src: (intrinsic_wo_chain:{ *:[v8i16] } 8643:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
26879 // Dst: (SUB_SAT_S_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
26880/* 54513*/ 0, // EndSwitchType
26881/* 54514*/ /*Scope*/ 40, /*->54555*/
26882/* 54515*/ OPC_CheckChild0Integer, 68|128,67/*8644*/,
26883/* 54518*/ OPC_RecordChild1, // #0 = $lhs
26884/* 54519*/ OPC_SwitchType /*2 cases */, 15, MVT::v16i8,// ->54537
26885/* 54522*/ OPC_CheckChild1Type, MVT::v16i8,
26886/* 54524*/ OPC_RecordChild2, // #1 = $rhs
26887/* 54525*/ OPC_CheckChild2Type, MVT::v16i8,
26888/* 54527*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26889/* 54529*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_SAT_U_I8x16), 0,
26890 MVT::v16i8, 2/*#Ops*/, 0, 1,
26891 // Src: (intrinsic_wo_chain:{ *:[v16i8] } 8644:{ *:[iPTR] }, V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 8
26892 // Dst: (SUB_SAT_U_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
26893/* 54537*/ /*SwitchType*/ 15, MVT::v8i16,// ->54554
26894/* 54539*/ OPC_CheckChild1Type, MVT::v8i16,
26895/* 54541*/ OPC_RecordChild2, // #1 = $rhs
26896/* 54542*/ OPC_CheckChild2Type, MVT::v8i16,
26897/* 54544*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26898/* 54546*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_SAT_U_I16x8), 0,
26899 MVT::v8i16, 2/*#Ops*/, 0, 1,
26900 // Src: (intrinsic_wo_chain:{ *:[v8i16] } 8644:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
26901 // Dst: (SUB_SAT_U_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
26902/* 54554*/ 0, // EndSwitchType
26903/* 54555*/ /*Scope*/ 40, /*->54596*/
26904/* 54556*/ OPC_CheckChild0Integer, 16|128,67/*8592*/,
26905/* 54559*/ OPC_RecordChild1, // #0 = $lhs
26906/* 54560*/ OPC_SwitchType /*2 cases */, 15, MVT::v16i8,// ->54578
26907/* 54563*/ OPC_CheckChild1Type, MVT::v16i8,
26908/* 54565*/ OPC_RecordChild2, // #1 = $rhs
26909/* 54566*/ OPC_CheckChild2Type, MVT::v16i8,
26910/* 54568*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26911/* 54570*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AVGR_U_I8x16), 0,
26912 MVT::v16i8, 2/*#Ops*/, 0, 1,
26913 // Src: (intrinsic_wo_chain:{ *:[v16i8] } 8592:{ *:[iPTR] }, V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 8
26914 // Dst: (AVGR_U_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
26915/* 54578*/ /*SwitchType*/ 15, MVT::v8i16,// ->54595
26916/* 54580*/ OPC_CheckChild1Type, MVT::v8i16,
26917/* 54582*/ OPC_RecordChild2, // #1 = $rhs
26918/* 54583*/ OPC_CheckChild2Type, MVT::v8i16,
26919/* 54585*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26920/* 54587*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AVGR_U_I16x8), 0,
26921 MVT::v8i16, 2/*#Ops*/, 0, 1,
26922 // Src: (intrinsic_wo_chain:{ *:[v8i16] } 8592:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
26923 // Dst: (AVGR_U_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
26924/* 54595*/ 0, // EndSwitchType
26925/* 54596*/ /*Scope*/ 15, /*->54612*/
26926/* 54597*/ OPC_CheckChild0Integer, 24|128,67/*8600*/,
26927/* 54600*/ OPC_RecordChild1, // #0 = $lhs
26928/* 54601*/ OPC_RecordChild2, // #1 = $rhs
26929/* 54602*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26930/* 54604*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DOT), 0,
26931 MVT::v4i32, 2/*#Ops*/, 0, 1,
26932 // Src: (intrinsic_wo_chain:{ *:[v4i32] } 8600:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
26933 // Dst: (DOT:{ *:[v4i32] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
26934/* 54612*/ /*Scope*/ 57, /*->54670*/
26935/* 54613*/ OPC_CheckChild0Integer, 30|128,67/*8606*/,
26936/* 54616*/ OPC_RecordChild1, // #0 = $lhs
26937/* 54617*/ OPC_SwitchType /*3 cases */, 15, MVT::v8i16,// ->54635
26938/* 54620*/ OPC_CheckChild1Type, MVT::v16i8,
26939/* 54622*/ OPC_RecordChild2, // #1 = $rhs
26940/* 54623*/ OPC_CheckChild2Type, MVT::v16i8,
26941/* 54625*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26942/* 54627*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTMUL_LOW_S_I16x8), 0,
26943 MVT::v8i16, 2/*#Ops*/, 0, 1,
26944 // Src: (intrinsic_wo_chain:{ *:[v8i16] } 8606:{ *:[iPTR] }, V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 8
26945 // Dst: (EXTMUL_LOW_S_I16x8:{ *:[v8i16] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
26946/* 54635*/ /*SwitchType*/ 15, MVT::v4i32,// ->54652
26947/* 54637*/ OPC_CheckChild1Type, MVT::v8i16,
26948/* 54639*/ OPC_RecordChild2, // #1 = $rhs
26949/* 54640*/ OPC_CheckChild2Type, MVT::v8i16,
26950/* 54642*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26951/* 54644*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTMUL_LOW_S_I32x4), 0,
26952 MVT::v4i32, 2/*#Ops*/, 0, 1,
26953 // Src: (intrinsic_wo_chain:{ *:[v4i32] } 8606:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
26954 // Dst: (EXTMUL_LOW_S_I32x4:{ *:[v4i32] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
26955/* 54652*/ /*SwitchType*/ 15, MVT::v2i64,// ->54669
26956/* 54654*/ OPC_CheckChild1Type, MVT::v4i32,
26957/* 54656*/ OPC_RecordChild2, // #1 = $rhs
26958/* 54657*/ OPC_CheckChild2Type, MVT::v4i32,
26959/* 54659*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26960/* 54661*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTMUL_LOW_S_I64x2), 0,
26961 MVT::v2i64, 2/*#Ops*/, 0, 1,
26962 // Src: (intrinsic_wo_chain:{ *:[v2i64] } 8606:{ *:[iPTR] }, V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 8
26963 // Dst: (EXTMUL_LOW_S_I64x2:{ *:[v2i64] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
26964/* 54669*/ 0, // EndSwitchType
26965/* 54670*/ /*Scope*/ 57, /*->54728*/
26966/* 54671*/ OPC_CheckChild0Integer, 28|128,67/*8604*/,
26967/* 54674*/ OPC_RecordChild1, // #0 = $lhs
26968/* 54675*/ OPC_SwitchType /*3 cases */, 15, MVT::v8i16,// ->54693
26969/* 54678*/ OPC_CheckChild1Type, MVT::v16i8,
26970/* 54680*/ OPC_RecordChild2, // #1 = $rhs
26971/* 54681*/ OPC_CheckChild2Type, MVT::v16i8,
26972/* 54683*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26973/* 54685*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTMUL_HIGH_S_I16x8), 0,
26974 MVT::v8i16, 2/*#Ops*/, 0, 1,
26975 // Src: (intrinsic_wo_chain:{ *:[v8i16] } 8604:{ *:[iPTR] }, V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 8
26976 // Dst: (EXTMUL_HIGH_S_I16x8:{ *:[v8i16] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
26977/* 54693*/ /*SwitchType*/ 15, MVT::v4i32,// ->54710
26978/* 54695*/ OPC_CheckChild1Type, MVT::v8i16,
26979/* 54697*/ OPC_RecordChild2, // #1 = $rhs
26980/* 54698*/ OPC_CheckChild2Type, MVT::v8i16,
26981/* 54700*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26982/* 54702*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTMUL_HIGH_S_I32x4), 0,
26983 MVT::v4i32, 2/*#Ops*/, 0, 1,
26984 // Src: (intrinsic_wo_chain:{ *:[v4i32] } 8604:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
26985 // Dst: (EXTMUL_HIGH_S_I32x4:{ *:[v4i32] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
26986/* 54710*/ /*SwitchType*/ 15, MVT::v2i64,// ->54727
26987/* 54712*/ OPC_CheckChild1Type, MVT::v4i32,
26988/* 54714*/ OPC_RecordChild2, // #1 = $rhs
26989/* 54715*/ OPC_CheckChild2Type, MVT::v4i32,
26990/* 54717*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
26991/* 54719*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTMUL_HIGH_S_I64x2), 0,
26992 MVT::v2i64, 2/*#Ops*/, 0, 1,
26993 // Src: (intrinsic_wo_chain:{ *:[v2i64] } 8604:{ *:[iPTR] }, V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 8
26994 // Dst: (EXTMUL_HIGH_S_I64x2:{ *:[v2i64] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
26995/* 54727*/ 0, // EndSwitchType
26996/* 54728*/ /*Scope*/ 57, /*->54786*/
26997/* 54729*/ OPC_CheckChild0Integer, 31|128,67/*8607*/,
26998/* 54732*/ OPC_RecordChild1, // #0 = $lhs
26999/* 54733*/ OPC_SwitchType /*3 cases */, 15, MVT::v8i16,// ->54751
27000/* 54736*/ OPC_CheckChild1Type, MVT::v16i8,
27001/* 54738*/ OPC_RecordChild2, // #1 = $rhs
27002/* 54739*/ OPC_CheckChild2Type, MVT::v16i8,
27003/* 54741*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27004/* 54743*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTMUL_LOW_U_I16x8), 0,
27005 MVT::v8i16, 2/*#Ops*/, 0, 1,
27006 // Src: (intrinsic_wo_chain:{ *:[v8i16] } 8607:{ *:[iPTR] }, V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 8
27007 // Dst: (EXTMUL_LOW_U_I16x8:{ *:[v8i16] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27008/* 54751*/ /*SwitchType*/ 15, MVT::v4i32,// ->54768
27009/* 54753*/ OPC_CheckChild1Type, MVT::v8i16,
27010/* 54755*/ OPC_RecordChild2, // #1 = $rhs
27011/* 54756*/ OPC_CheckChild2Type, MVT::v8i16,
27012/* 54758*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27013/* 54760*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTMUL_LOW_U_I32x4), 0,
27014 MVT::v4i32, 2/*#Ops*/, 0, 1,
27015 // Src: (intrinsic_wo_chain:{ *:[v4i32] } 8607:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
27016 // Dst: (EXTMUL_LOW_U_I32x4:{ *:[v4i32] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27017/* 54768*/ /*SwitchType*/ 15, MVT::v2i64,// ->54785
27018/* 54770*/ OPC_CheckChild1Type, MVT::v4i32,
27019/* 54772*/ OPC_RecordChild2, // #1 = $rhs
27020/* 54773*/ OPC_CheckChild2Type, MVT::v4i32,
27021/* 54775*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27022/* 54777*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTMUL_LOW_U_I64x2), 0,
27023 MVT::v2i64, 2/*#Ops*/, 0, 1,
27024 // Src: (intrinsic_wo_chain:{ *:[v2i64] } 8607:{ *:[iPTR] }, V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 8
27025 // Dst: (EXTMUL_LOW_U_I64x2:{ *:[v2i64] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
27026/* 54785*/ 0, // EndSwitchType
27027/* 54786*/ /*Scope*/ 57, /*->54844*/
27028/* 54787*/ OPC_CheckChild0Integer, 29|128,67/*8605*/,
27029/* 54790*/ OPC_RecordChild1, // #0 = $lhs
27030/* 54791*/ OPC_SwitchType /*3 cases */, 15, MVT::v8i16,// ->54809
27031/* 54794*/ OPC_CheckChild1Type, MVT::v16i8,
27032/* 54796*/ OPC_RecordChild2, // #1 = $rhs
27033/* 54797*/ OPC_CheckChild2Type, MVT::v16i8,
27034/* 54799*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27035/* 54801*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTMUL_HIGH_U_I16x8), 0,
27036 MVT::v8i16, 2/*#Ops*/, 0, 1,
27037 // Src: (intrinsic_wo_chain:{ *:[v8i16] } 8605:{ *:[iPTR] }, V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 8
27038 // Dst: (EXTMUL_HIGH_U_I16x8:{ *:[v8i16] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27039/* 54809*/ /*SwitchType*/ 15, MVT::v4i32,// ->54826
27040/* 54811*/ OPC_CheckChild1Type, MVT::v8i16,
27041/* 54813*/ OPC_RecordChild2, // #1 = $rhs
27042/* 54814*/ OPC_CheckChild2Type, MVT::v8i16,
27043/* 54816*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27044/* 54818*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTMUL_HIGH_U_I32x4), 0,
27045 MVT::v4i32, 2/*#Ops*/, 0, 1,
27046 // Src: (intrinsic_wo_chain:{ *:[v4i32] } 8605:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
27047 // Dst: (EXTMUL_HIGH_U_I32x4:{ *:[v4i32] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27048/* 54826*/ /*SwitchType*/ 15, MVT::v2i64,// ->54843
27049/* 54828*/ OPC_CheckChild1Type, MVT::v4i32,
27050/* 54830*/ OPC_RecordChild2, // #1 = $rhs
27051/* 54831*/ OPC_CheckChild2Type, MVT::v4i32,
27052/* 54833*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27053/* 54835*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTMUL_HIGH_U_I64x2), 0,
27054 MVT::v2i64, 2/*#Ops*/, 0, 1,
27055 // Src: (intrinsic_wo_chain:{ *:[v2i64] } 8605:{ *:[iPTR] }, V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 8
27056 // Dst: (EXTMUL_HIGH_U_I64x2:{ *:[v2i64] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
27057/* 54843*/ 0, // EndSwitchType
27058/* 54844*/ /*Scope*/ 13, /*->54858*/
27059/* 54845*/ OPC_CheckChild0Integer, 83|128,67/*8659*/,
27060/* 54848*/ OPC_RecordChild1, // #0 = $vec
27061/* 54849*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27062/* 54851*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::int_wasm_widen_low_signed_I64x2), 0,
27063 MVT::v2i64, 1/*#Ops*/, 0,
27064 // Src: (intrinsic_wo_chain:{ *:[v2i64] } 8659:{ *:[iPTR] }, V128:{ *:[v4i32] }:$vec) - Complexity = 8
27065 // Dst: (int_wasm_widen_low_signed_I64x2:{ *:[v2i64] } V128:{ *:[v4i32] }:$vec)
27066/* 54858*/ /*Scope*/ 13, /*->54872*/
27067/* 54859*/ OPC_CheckChild0Integer, 81|128,67/*8657*/,
27068/* 54862*/ OPC_RecordChild1, // #0 = $vec
27069/* 54863*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27070/* 54865*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::int_wasm_widen_high_signed_I64x2), 0,
27071 MVT::v2i64, 1/*#Ops*/, 0,
27072 // Src: (intrinsic_wo_chain:{ *:[v2i64] } 8657:{ *:[iPTR] }, V128:{ *:[v4i32] }:$vec) - Complexity = 8
27073 // Dst: (int_wasm_widen_high_signed_I64x2:{ *:[v2i64] } V128:{ *:[v4i32] }:$vec)
27074/* 54872*/ /*Scope*/ 13, /*->54886*/
27075/* 54873*/ OPC_CheckChild0Integer, 84|128,67/*8660*/,
27076/* 54876*/ OPC_RecordChild1, // #0 = $vec
27077/* 54877*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27078/* 54879*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::int_wasm_widen_low_unsigned_I64x2), 0,
27079 MVT::v2i64, 1/*#Ops*/, 0,
27080 // Src: (intrinsic_wo_chain:{ *:[v2i64] } 8660:{ *:[iPTR] }, V128:{ *:[v4i32] }:$vec) - Complexity = 8
27081 // Dst: (int_wasm_widen_low_unsigned_I64x2:{ *:[v2i64] } V128:{ *:[v4i32] }:$vec)
27082/* 54886*/ /*Scope*/ 13, /*->54900*/
27083/* 54887*/ OPC_CheckChild0Integer, 82|128,67/*8658*/,
27084/* 54890*/ OPC_RecordChild1, // #0 = $vec
27085/* 54891*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27086/* 54893*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::int_wasm_widen_high_unsigned_I64x2), 0,
27087 MVT::v2i64, 1/*#Ops*/, 0,
27088 // Src: (intrinsic_wo_chain:{ *:[v2i64] } 8658:{ *:[iPTR] }, V128:{ *:[v4i32] }:$vec) - Complexity = 8
27089 // Dst: (int_wasm_widen_high_unsigned_I64x2:{ *:[v2i64] } V128:{ *:[v4i32] }:$vec)
27090/* 54900*/ /*Scope*/ 40, /*->54941*/
27091/* 54901*/ OPC_CheckChild0Integer, 48|128,67/*8624*/,
27092/* 54904*/ OPC_RecordChild1, // #0 = $low
27093/* 54905*/ OPC_SwitchType /*2 cases */, 15, MVT::v16i8,// ->54923
27094/* 54908*/ OPC_CheckChild1Type, MVT::v8i16,
27095/* 54910*/ OPC_RecordChild2, // #1 = $high
27096/* 54911*/ OPC_CheckChild2Type, MVT::v8i16,
27097/* 54913*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27098/* 54915*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NARROW_S_I8x16), 0,
27099 MVT::v16i8, 2/*#Ops*/, 0, 1,
27100 // Src: (intrinsic_wo_chain:{ *:[v16i8] } 8624:{ *:[iPTR] }, V128:{ *:[v8i16] }:$low, V128:{ *:[v8i16] }:$high) - Complexity = 8
27101 // Dst: (NARROW_S_I8x16:{ *:[v16i8] } V128:{ *:[v8i16] }:$low, V128:{ *:[v8i16] }:$high)
27102/* 54923*/ /*SwitchType*/ 15, MVT::v8i16,// ->54940
27103/* 54925*/ OPC_CheckChild1Type, MVT::v4i32,
27104/* 54927*/ OPC_RecordChild2, // #1 = $high
27105/* 54928*/ OPC_CheckChild2Type, MVT::v4i32,
27106/* 54930*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27107/* 54932*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NARROW_S_I16x8), 0,
27108 MVT::v8i16, 2/*#Ops*/, 0, 1,
27109 // Src: (intrinsic_wo_chain:{ *:[v8i16] } 8624:{ *:[iPTR] }, V128:{ *:[v4i32] }:$low, V128:{ *:[v4i32] }:$high) - Complexity = 8
27110 // Dst: (NARROW_S_I16x8:{ *:[v8i16] } V128:{ *:[v4i32] }:$low, V128:{ *:[v4i32] }:$high)
27111/* 54940*/ 0, // EndSwitchType
27112/* 54941*/ /*Scope*/ 40, /*->54982*/
27113/* 54942*/ OPC_CheckChild0Integer, 49|128,67/*8625*/,
27114/* 54945*/ OPC_RecordChild1, // #0 = $low
27115/* 54946*/ OPC_SwitchType /*2 cases */, 15, MVT::v16i8,// ->54964
27116/* 54949*/ OPC_CheckChild1Type, MVT::v8i16,
27117/* 54951*/ OPC_RecordChild2, // #1 = $high
27118/* 54952*/ OPC_CheckChild2Type, MVT::v8i16,
27119/* 54954*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27120/* 54956*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NARROW_U_I8x16), 0,
27121 MVT::v16i8, 2/*#Ops*/, 0, 1,
27122 // Src: (intrinsic_wo_chain:{ *:[v16i8] } 8625:{ *:[iPTR] }, V128:{ *:[v8i16] }:$low, V128:{ *:[v8i16] }:$high) - Complexity = 8
27123 // Dst: (NARROW_U_I8x16:{ *:[v16i8] } V128:{ *:[v8i16] }:$low, V128:{ *:[v8i16] }:$high)
27124/* 54964*/ /*SwitchType*/ 15, MVT::v8i16,// ->54981
27125/* 54966*/ OPC_CheckChild1Type, MVT::v4i32,
27126/* 54968*/ OPC_RecordChild2, // #1 = $high
27127/* 54969*/ OPC_CheckChild2Type, MVT::v4i32,
27128/* 54971*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27129/* 54973*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NARROW_U_I16x8), 0,
27130 MVT::v8i16, 2/*#Ops*/, 0, 1,
27131 // Src: (intrinsic_wo_chain:{ *:[v8i16] } 8625:{ *:[iPTR] }, V128:{ *:[v4i32] }:$low, V128:{ *:[v4i32] }:$high) - Complexity = 8
27132 // Dst: (NARROW_U_I16x8:{ *:[v8i16] } V128:{ *:[v4i32] }:$low, V128:{ *:[v4i32] }:$high)
27133/* 54981*/ 0, // EndSwitchType
27134/* 54982*/ /*Scope*/ 32, /*->55015*/
27135/* 54983*/ OPC_CheckChild0Integer, 26|128,67/*8602*/,
27136/* 54986*/ OPC_RecordChild1, // #0 = $vec
27137/* 54987*/ OPC_SwitchType /*2 cases */, 11, MVT::v8i16,// ->55001
27138/* 54990*/ OPC_CheckChild1Type, MVT::v16i8,
27139/* 54992*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27140/* 54994*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::int_wasm_extadd_pairwise_signed_I16x8), 0,
27141 MVT::v8i16, 1/*#Ops*/, 0,
27142 // Src: (intrinsic_wo_chain:{ *:[v8i16] } 8602:{ *:[iPTR] }, V128:{ *:[v16i8] }:$vec) - Complexity = 8
27143 // Dst: (int_wasm_extadd_pairwise_signed_I16x8:{ *:[v8i16] } V128:{ *:[v16i8] }:$vec)
27144/* 55001*/ /*SwitchType*/ 11, MVT::v4i32,// ->55014
27145/* 55003*/ OPC_CheckChild1Type, MVT::v8i16,
27146/* 55005*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27147/* 55007*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::int_wasm_extadd_pairwise_signed_I32x4), 0,
27148 MVT::v4i32, 1/*#Ops*/, 0,
27149 // Src: (intrinsic_wo_chain:{ *:[v4i32] } 8602:{ *:[iPTR] }, V128:{ *:[v8i16] }:$vec) - Complexity = 8
27150 // Dst: (int_wasm_extadd_pairwise_signed_I32x4:{ *:[v4i32] } V128:{ *:[v8i16] }:$vec)
27151/* 55014*/ 0, // EndSwitchType
27152/* 55015*/ /*Scope*/ 32, /*->55048*/
27153/* 55016*/ OPC_CheckChild0Integer, 27|128,67/*8603*/,
27154/* 55019*/ OPC_RecordChild1, // #0 = $vec
27155/* 55020*/ OPC_SwitchType /*2 cases */, 11, MVT::v8i16,// ->55034
27156/* 55023*/ OPC_CheckChild1Type, MVT::v16i8,
27157/* 55025*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27158/* 55027*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::int_wasm_extadd_pairwise_unsigned_I16x8), 0,
27159 MVT::v8i16, 1/*#Ops*/, 0,
27160 // Src: (intrinsic_wo_chain:{ *:[v8i16] } 8603:{ *:[iPTR] }, V128:{ *:[v16i8] }:$vec) - Complexity = 8
27161 // Dst: (int_wasm_extadd_pairwise_unsigned_I16x8:{ *:[v8i16] } V128:{ *:[v16i8] }:$vec)
27162/* 55034*/ /*SwitchType*/ 11, MVT::v4i32,// ->55047
27163/* 55036*/ OPC_CheckChild1Type, MVT::v8i16,
27164/* 55038*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27165/* 55040*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::int_wasm_extadd_pairwise_unsigned_I32x4), 0,
27166 MVT::v4i32, 1/*#Ops*/, 0,
27167 // Src: (intrinsic_wo_chain:{ *:[v4i32] } 8603:{ *:[iPTR] }, V128:{ *:[v8i16] }:$vec) - Complexity = 8
27168 // Dst: (int_wasm_extadd_pairwise_unsigned_I32x4:{ *:[v4i32] } V128:{ *:[v8i16] }:$vec)
27169/* 55047*/ 0, // EndSwitchType
27170/* 55048*/ /*Scope*/ 13, /*->55062*/
27171/* 55049*/ OPC_CheckChild0Integer, 77|128,67/*8653*/,
27172/* 55052*/ OPC_RecordChild1, // #0 = $vec
27173/* 55053*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27174/* 55055*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::int_wasm_trunc_saturate_zero_signed_I32x4), 0,
27175 MVT::v4i32, 1/*#Ops*/, 0,
27176 // Src: (intrinsic_wo_chain:{ *:[v4i32] } 8653:{ *:[iPTR] }, V128:{ *:[v2f64] }:$vec) - Complexity = 8
27177 // Dst: (int_wasm_trunc_saturate_zero_signed_I32x4:{ *:[v4i32] } V128:{ *:[v2f64] }:$vec)
27178/* 55062*/ /*Scope*/ 13, /*->55076*/
27179/* 55063*/ OPC_CheckChild0Integer, 78|128,67/*8654*/,
27180/* 55066*/ OPC_RecordChild1, // #0 = $vec
27181/* 55067*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27182/* 55069*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::int_wasm_trunc_saturate_zero_unsigned_I32x4), 0,
27183 MVT::v4i32, 1/*#Ops*/, 0,
27184 // Src: (intrinsic_wo_chain:{ *:[v4i32] } 8654:{ *:[iPTR] }, V128:{ *:[v2f64] }:$vec) - Complexity = 8
27185 // Dst: (int_wasm_trunc_saturate_zero_unsigned_I32x4:{ *:[v4i32] } V128:{ *:[v2f64] }:$vec)
27186/* 55076*/ /*Scope*/ 15, /*->55092*/
27187/* 55077*/ OPC_CheckChild0Integer, 57|128,67/*8633*/,
27188/* 55080*/ OPC_RecordChild1, // #0 = $lhs
27189/* 55081*/ OPC_RecordChild2, // #1 = $rhs
27190/* 55082*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27191/* 55084*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::Q15MULR_SAT_S_I16x8), 0,
27192 MVT::v8i16, 2/*#Ops*/, 0, 1,
27193 // Src: (intrinsic_wo_chain:{ *:[v8i16] } 8633:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
27194 // Dst: (Q15MULR_SAT_S_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27195/* 55092*/ /*Scope*/ 32, /*->55125*/
27196/* 55093*/ OPC_CheckChild0Integer, 20|128,67/*8596*/,
27197/* 55096*/ OPC_RecordChild1, // #0 = $v
27198/* 55097*/ OPC_SwitchType /*2 cases */, 11, MVT::v4f32,// ->55111
27199/* 55100*/ OPC_CheckChild1Type, MVT::v4f32,
27200/* 55102*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27201/* 55104*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CEIL_F32x4), 0,
27202 MVT::v4f32, 1/*#Ops*/, 0,
27203 // Src: (intrinsic_wo_chain:{ *:[v4f32] } 8596:{ *:[iPTR] }, V128:{ *:[v4f32] }:$v) - Complexity = 8
27204 // Dst: (CEIL_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$v)
27205/* 55111*/ /*SwitchType*/ 11, MVT::v2f64,// ->55124
27206/* 55113*/ OPC_CheckChild1Type, MVT::v2f64,
27207/* 55115*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27208/* 55117*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CEIL_F64x2), 0,
27209 MVT::v2f64, 1/*#Ops*/, 0,
27210 // Src: (intrinsic_wo_chain:{ *:[v2f64] } 8596:{ *:[iPTR] }, V128:{ *:[v2f64] }:$v) - Complexity = 8
27211 // Dst: (CEIL_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$v)
27212/* 55124*/ 0, // EndSwitchType
27213/* 55125*/ /*Scope*/ 32, /*->55158*/
27214/* 55126*/ OPC_CheckChild0Integer, 32|128,67/*8608*/,
27215/* 55129*/ OPC_RecordChild1, // #0 = $v
27216/* 55130*/ OPC_SwitchType /*2 cases */, 11, MVT::v4f32,// ->55144
27217/* 55133*/ OPC_CheckChild1Type, MVT::v4f32,
27218/* 55135*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27219/* 55137*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FLOOR_F32x4), 0,
27220 MVT::v4f32, 1/*#Ops*/, 0,
27221 // Src: (intrinsic_wo_chain:{ *:[v4f32] } 8608:{ *:[iPTR] }, V128:{ *:[v4f32] }:$v) - Complexity = 8
27222 // Dst: (FLOOR_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$v)
27223/* 55144*/ /*SwitchType*/ 11, MVT::v2f64,// ->55157
27224/* 55146*/ OPC_CheckChild1Type, MVT::v2f64,
27225/* 55148*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27226/* 55150*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FLOOR_F64x2), 0,
27227 MVT::v2f64, 1/*#Ops*/, 0,
27228 // Src: (intrinsic_wo_chain:{ *:[v2f64] } 8608:{ *:[iPTR] }, V128:{ *:[v2f64] }:$v) - Complexity = 8
27229 // Dst: (FLOOR_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$v)
27230/* 55157*/ 0, // EndSwitchType
27231/* 55158*/ /*Scope*/ 32, /*->55191*/
27232/* 55159*/ OPC_CheckChild0Integer, 74|128,67/*8650*/,
27233/* 55162*/ OPC_RecordChild1, // #0 = $v
27234/* 55163*/ OPC_SwitchType /*2 cases */, 11, MVT::v4f32,// ->55177
27235/* 55166*/ OPC_CheckChild1Type, MVT::v4f32,
27236/* 55168*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27237/* 55170*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TRUNC_F32x4), 0,
27238 MVT::v4f32, 1/*#Ops*/, 0,
27239 // Src: (intrinsic_wo_chain:{ *:[v4f32] } 8650:{ *:[iPTR] }, V128:{ *:[v4f32] }:$v) - Complexity = 8
27240 // Dst: (TRUNC_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$v)
27241/* 55177*/ /*SwitchType*/ 11, MVT::v2f64,// ->55190
27242/* 55179*/ OPC_CheckChild1Type, MVT::v2f64,
27243/* 55181*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27244/* 55183*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TRUNC_F64x2), 0,
27245 MVT::v2f64, 1/*#Ops*/, 0,
27246 // Src: (intrinsic_wo_chain:{ *:[v2f64] } 8650:{ *:[iPTR] }, V128:{ *:[v2f64] }:$v) - Complexity = 8
27247 // Dst: (TRUNC_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$v)
27248/* 55190*/ 0, // EndSwitchType
27249/* 55191*/ /*Scope*/ 32, /*->55224*/
27250/* 55192*/ OPC_CheckChild0Integer, 50|128,67/*8626*/,
27251/* 55195*/ OPC_RecordChild1, // #0 = $v
27252/* 55196*/ OPC_SwitchType /*2 cases */, 11, MVT::v4f32,// ->55210
27253/* 55199*/ OPC_CheckChild1Type, MVT::v4f32,
27254/* 55201*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27255/* 55203*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEAREST_F32x4), 0,
27256 MVT::v4f32, 1/*#Ops*/, 0,
27257 // Src: (intrinsic_wo_chain:{ *:[v4f32] } 8626:{ *:[iPTR] }, V128:{ *:[v4f32] }:$v) - Complexity = 8
27258 // Dst: (NEAREST_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$v)
27259/* 55210*/ /*SwitchType*/ 11, MVT::v2f64,// ->55223
27260/* 55212*/ OPC_CheckChild1Type, MVT::v2f64,
27261/* 55214*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27262/* 55216*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEAREST_F64x2), 0,
27263 MVT::v2f64, 1/*#Ops*/, 0,
27264 // Src: (intrinsic_wo_chain:{ *:[v2f64] } 8626:{ *:[iPTR] }, V128:{ *:[v2f64] }:$v) - Complexity = 8
27265 // Dst: (NEAREST_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$v)
27266/* 55223*/ 0, // EndSwitchType
27267/* 55224*/ /*Scope*/ 40, /*->55265*/
27268/* 55225*/ OPC_CheckChild0Integer, 52|128,67/*8628*/,
27269/* 55228*/ OPC_RecordChild1, // #0 = $lhs
27270/* 55229*/ OPC_SwitchType /*2 cases */, 15, MVT::v4f32,// ->55247
27271/* 55232*/ OPC_CheckChild1Type, MVT::v4f32,
27272/* 55234*/ OPC_RecordChild2, // #1 = $rhs
27273/* 55235*/ OPC_CheckChild2Type, MVT::v4f32,
27274/* 55237*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27275/* 55239*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PMIN_F32x4), 0,
27276 MVT::v4f32, 2/*#Ops*/, 0, 1,
27277 // Src: (intrinsic_wo_chain:{ *:[v4f32] } 8628:{ *:[iPTR] }, V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 8
27278 // Dst: (PMIN_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
27279/* 55247*/ /*SwitchType*/ 15, MVT::v2f64,// ->55264
27280/* 55249*/ OPC_CheckChild1Type, MVT::v2f64,
27281/* 55251*/ OPC_RecordChild2, // #1 = $rhs
27282/* 55252*/ OPC_CheckChild2Type, MVT::v2f64,
27283/* 55254*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27284/* 55256*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PMIN_F64x2), 0,
27285 MVT::v2f64, 2/*#Ops*/, 0, 1,
27286 // Src: (intrinsic_wo_chain:{ *:[v2f64] } 8628:{ *:[iPTR] }, V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 8
27287 // Dst: (PMIN_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
27288/* 55264*/ 0, // EndSwitchType
27289/* 55265*/ /*Scope*/ 40, /*->55306*/
27290/* 55266*/ OPC_CheckChild0Integer, 51|128,67/*8627*/,
27291/* 55269*/ OPC_RecordChild1, // #0 = $lhs
27292/* 55270*/ OPC_SwitchType /*2 cases */, 15, MVT::v4f32,// ->55288
27293/* 55273*/ OPC_CheckChild1Type, MVT::v4f32,
27294/* 55275*/ OPC_RecordChild2, // #1 = $rhs
27295/* 55276*/ OPC_CheckChild2Type, MVT::v4f32,
27296/* 55278*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27297/* 55280*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PMAX_F32x4), 0,
27298 MVT::v4f32, 2/*#Ops*/, 0, 1,
27299 // Src: (intrinsic_wo_chain:{ *:[v4f32] } 8627:{ *:[iPTR] }, V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 8
27300 // Dst: (PMAX_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
27301/* 55288*/ /*SwitchType*/ 15, MVT::v2f64,// ->55305
27302/* 55290*/ OPC_CheckChild1Type, MVT::v2f64,
27303/* 55292*/ OPC_RecordChild2, // #1 = $rhs
27304/* 55293*/ OPC_CheckChild2Type, MVT::v2f64,
27305/* 55295*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27306/* 55297*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PMAX_F64x2), 0,
27307 MVT::v2f64, 2/*#Ops*/, 0, 1,
27308 // Src: (intrinsic_wo_chain:{ *:[v2f64] } 8627:{ *:[iPTR] }, V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 8
27309 // Dst: (PMAX_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
27310/* 55305*/ 0, // EndSwitchType
27311/* 55306*/ /*Scope*/ 13, /*->55320*/
27312/* 55307*/ OPC_CheckChild0Integer, 21|128,67/*8597*/,
27313/* 55310*/ OPC_RecordChild1, // #0 = $vec
27314/* 55311*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27315/* 55313*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::int_wasm_convert_low_signed_F64x2), 0,
27316 MVT::v2f64, 1/*#Ops*/, 0,
27317 // Src: (intrinsic_wo_chain:{ *:[v2f64] } 8597:{ *:[iPTR] }, V128:{ *:[v4i32] }:$vec) - Complexity = 8
27318 // Dst: (int_wasm_convert_low_signed_F64x2:{ *:[v2f64] } V128:{ *:[v4i32] }:$vec)
27319/* 55320*/ /*Scope*/ 13, /*->55334*/
27320/* 55321*/ OPC_CheckChild0Integer, 22|128,67/*8598*/,
27321/* 55324*/ OPC_RecordChild1, // #0 = $vec
27322/* 55325*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27323/* 55327*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::int_wasm_convert_low_unsigned_F64x2), 0,
27324 MVT::v2f64, 1/*#Ops*/, 0,
27325 // Src: (intrinsic_wo_chain:{ *:[v2f64] } 8598:{ *:[iPTR] }, V128:{ *:[v4i32] }:$vec) - Complexity = 8
27326 // Dst: (int_wasm_convert_low_unsigned_F64x2:{ *:[v2f64] } V128:{ *:[v4i32] }:$vec)
27327/* 55334*/ /*Scope*/ 13, /*->55348*/
27328/* 55335*/ OPC_CheckChild0Integer, 23|128,67/*8599*/,
27329/* 55338*/ OPC_RecordChild1, // #0 = $vec
27330/* 55339*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27331/* 55341*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::int_wasm_demote_zero_F32x4), 0,
27332 MVT::v4f32, 1/*#Ops*/, 0,
27333 // Src: (intrinsic_wo_chain:{ *:[v4f32] } 8599:{ *:[iPTR] }, V128:{ *:[v2f64] }:$vec) - Complexity = 8
27334 // Dst: (int_wasm_demote_zero_F32x4:{ *:[v4f32] } V128:{ *:[v2f64] }:$vec)
27335/* 55348*/ /*Scope*/ 13, /*->55362*/
27336/* 55349*/ OPC_CheckChild0Integer, 56|128,67/*8632*/,
27337/* 55352*/ OPC_RecordChild1, // #0 = $vec
27338/* 55353*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27339/* 55355*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::int_wasm_promote_low_F64x2), 0,
27340 MVT::v2f64, 1/*#Ops*/, 0,
27341 // Src: (intrinsic_wo_chain:{ *:[v2f64] } 8632:{ *:[iPTR] }, V128:{ *:[v4f32] }:$vec) - Complexity = 8
27342 // Dst: (int_wasm_promote_low_F64x2:{ *:[v2f64] } V128:{ *:[v4f32] }:$vec)
27343/* 55362*/ /*Scope*/ 48, /*->55411*/
27344/* 55363*/ OPC_CheckChild0Integer, 58|128,67/*8634*/,
27345/* 55366*/ OPC_RecordChild1, // #0 = $a
27346/* 55367*/ OPC_SwitchType /*2 cases */, 19, MVT::v4f32,// ->55389
27347/* 55370*/ OPC_CheckChild1Type, MVT::v4f32,
27348/* 55372*/ OPC_RecordChild2, // #1 = $b
27349/* 55373*/ OPC_CheckChild2Type, MVT::v4f32,
27350/* 55375*/ OPC_RecordChild3, // #2 = $c
27351/* 55376*/ OPC_CheckChild3Type, MVT::v4f32,
27352/* 55378*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27353/* 55380*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::QFMA_F32x4), 0,
27354 MVT::v4f32, 3/*#Ops*/, 0, 1, 2,
27355 // Src: (intrinsic_wo_chain:{ *:[v4f32] } 8634:{ *:[iPTR] }, V128:{ *:[v4f32] }:$a, V128:{ *:[v4f32] }:$b, V128:{ *:[v4f32] }:$c) - Complexity = 8
27356 // Dst: (QFMA_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$a, V128:{ *:[v4f32] }:$b, V128:{ *:[v4f32] }:$c)
27357/* 55389*/ /*SwitchType*/ 19, MVT::v2f64,// ->55410
27358/* 55391*/ OPC_CheckChild1Type, MVT::v2f64,
27359/* 55393*/ OPC_RecordChild2, // #1 = $b
27360/* 55394*/ OPC_CheckChild2Type, MVT::v2f64,
27361/* 55396*/ OPC_RecordChild3, // #2 = $c
27362/* 55397*/ OPC_CheckChild3Type, MVT::v2f64,
27363/* 55399*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27364/* 55401*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::QFMA_F64x2), 0,
27365 MVT::v2f64, 3/*#Ops*/, 0, 1, 2,
27366 // Src: (intrinsic_wo_chain:{ *:[v2f64] } 8634:{ *:[iPTR] }, V128:{ *:[v2f64] }:$a, V128:{ *:[v2f64] }:$b, V128:{ *:[v2f64] }:$c) - Complexity = 8
27367 // Dst: (QFMA_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$a, V128:{ *:[v2f64] }:$b, V128:{ *:[v2f64] }:$c)
27368/* 55410*/ 0, // EndSwitchType
27369/* 55411*/ /*Scope*/ 48, /*->55460*/
27370/* 55412*/ OPC_CheckChild0Integer, 59|128,67/*8635*/,
27371/* 55415*/ OPC_RecordChild1, // #0 = $a
27372/* 55416*/ OPC_SwitchType /*2 cases */, 19, MVT::v4f32,// ->55438
27373/* 55419*/ OPC_CheckChild1Type, MVT::v4f32,
27374/* 55421*/ OPC_RecordChild2, // #1 = $b
27375/* 55422*/ OPC_CheckChild2Type, MVT::v4f32,
27376/* 55424*/ OPC_RecordChild3, // #2 = $c
27377/* 55425*/ OPC_CheckChild3Type, MVT::v4f32,
27378/* 55427*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27379/* 55429*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::QFMS_F32x4), 0,
27380 MVT::v4f32, 3/*#Ops*/, 0, 1, 2,
27381 // Src: (intrinsic_wo_chain:{ *:[v4f32] } 8635:{ *:[iPTR] }, V128:{ *:[v4f32] }:$a, V128:{ *:[v4f32] }:$b, V128:{ *:[v4f32] }:$c) - Complexity = 8
27382 // Dst: (QFMS_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$a, V128:{ *:[v4f32] }:$b, V128:{ *:[v4f32] }:$c)
27383/* 55438*/ /*SwitchType*/ 19, MVT::v2f64,// ->55459
27384/* 55440*/ OPC_CheckChild1Type, MVT::v2f64,
27385/* 55442*/ OPC_RecordChild2, // #1 = $b
27386/* 55443*/ OPC_CheckChild2Type, MVT::v2f64,
27387/* 55445*/ OPC_RecordChild3, // #2 = $c
27388/* 55446*/ OPC_CheckChild3Type, MVT::v2f64,
27389/* 55448*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27390/* 55450*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::QFMS_F64x2), 0,
27391 MVT::v2f64, 3/*#Ops*/, 0, 1, 2,
27392 // Src: (intrinsic_wo_chain:{ *:[v2f64] } 8635:{ *:[iPTR] }, V128:{ *:[v2f64] }:$a, V128:{ *:[v2f64] }:$b, V128:{ *:[v2f64] }:$c) - Complexity = 8
27393 // Dst: (QFMS_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$a, V128:{ *:[v2f64] }:$b, V128:{ *:[v2f64] }:$c)
27394/* 55459*/ 0, // EndSwitchType
27395/* 55460*/ 0, /*End of Scope*/
27396/* 55461*/ /*SwitchOpcode*/ 25|128,1/*153*/, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->55618
27397/* 55465*/ OPC_RecordChild0, // #0 = $vec
27398/* 55466*/ OPC_Scope, 24, /*->55492*/ // 6 children in Scope
27399/* 55468*/ OPC_CheckChild0Type, MVT::v16i8,
27400/* 55470*/ OPC_RecordChild1, // #1 = $idx
27401/* 55471*/ OPC_MoveChild1,
27402/* 55472*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
27403/* 55475*/ OPC_CheckPredicate, 4, // Predicate_LaneIdx16
27404/* 55477*/ OPC_CheckType, MVT::i32,
27405/* 55479*/ OPC_MoveParent,
27406/* 55480*/ OPC_CheckType, MVT::i32,
27407/* 55482*/ OPC_EmitConvertToTarget, 1,
27408/* 55484*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I8x16_u), 0,
27409 MVT::i32, 2/*#Ops*/, 0, 2,
27410 // Src: (vector_extract:{ *:[i32] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx) - Complexity = 7
27411 // Dst: (EXTRACT_LANE_I8x16_u:{ *:[i32] } ?:{ *:[v16i8] }:$vec, (imm:{ *:[i32] }):$idx)
27412/* 55492*/ /*Scope*/ 24, /*->55517*/
27413/* 55493*/ OPC_CheckChild0Type, MVT::v8i16,
27414/* 55495*/ OPC_RecordChild1, // #1 = $idx
27415/* 55496*/ OPC_MoveChild1,
27416/* 55497*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
27417/* 55500*/ OPC_CheckPredicate, 5, // Predicate_LaneIdx8
27418/* 55502*/ OPC_CheckType, MVT::i32,
27419/* 55504*/ OPC_MoveParent,
27420/* 55505*/ OPC_CheckType, MVT::i32,
27421/* 55507*/ OPC_EmitConvertToTarget, 1,
27422/* 55509*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I16x8_u), 0,
27423 MVT::i32, 2/*#Ops*/, 0, 2,
27424 // Src: (vector_extract:{ *:[i32] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx) - Complexity = 7
27425 // Dst: (EXTRACT_LANE_I16x8_u:{ *:[i32] } ?:{ *:[v8i16] }:$vec, (imm:{ *:[i32] }):$idx)
27426/* 55517*/ /*Scope*/ 24, /*->55542*/
27427/* 55518*/ OPC_CheckChild0Type, MVT::v4i32,
27428/* 55520*/ OPC_RecordChild1, // #1 = $idx
27429/* 55521*/ OPC_MoveChild1,
27430/* 55522*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
27431/* 55525*/ OPC_CheckPredicate, 7, // Predicate_LaneIdx4
27432/* 55527*/ OPC_CheckType, MVT::i32,
27433/* 55529*/ OPC_MoveParent,
27434/* 55530*/ OPC_CheckType, MVT::i32,
27435/* 55532*/ OPC_EmitConvertToTarget, 1,
27436/* 55534*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I32x4), 0,
27437 MVT::i32, 2/*#Ops*/, 0, 2,
27438 // Src: (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx4>>:$idx) - Complexity = 7
27439 // Dst: (EXTRACT_LANE_I32x4:{ *:[i32] } ?:{ *:[v4i32] }:$vec, (imm:{ *:[i32] }):$idx)
27440/* 55542*/ /*Scope*/ 24, /*->55567*/
27441/* 55543*/ OPC_CheckChild0Type, MVT::v2i64,
27442/* 55545*/ OPC_RecordChild1, // #1 = $idx
27443/* 55546*/ OPC_MoveChild1,
27444/* 55547*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
27445/* 55550*/ OPC_CheckPredicate, 8, // Predicate_LaneIdx2
27446/* 55552*/ OPC_CheckType, MVT::i32,
27447/* 55554*/ OPC_MoveParent,
27448/* 55555*/ OPC_CheckType, MVT::i64,
27449/* 55557*/ OPC_EmitConvertToTarget, 1,
27450/* 55559*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2), 0,
27451 MVT::i64, 2/*#Ops*/, 0, 2,
27452 // Src: (vector_extract:{ *:[i64] } V128:{ *:[v2i64] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx2>>:$idx) - Complexity = 7
27453 // Dst: (EXTRACT_LANE_I64x2:{ *:[i64] } ?:{ *:[v2i64] }:$vec, (imm:{ *:[i32] }):$idx)
27454/* 55567*/ /*Scope*/ 24, /*->55592*/
27455/* 55568*/ OPC_CheckChild0Type, MVT::v4f32,
27456/* 55570*/ OPC_RecordChild1, // #1 = $idx
27457/* 55571*/ OPC_MoveChild1,
27458/* 55572*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
27459/* 55575*/ OPC_CheckPredicate, 7, // Predicate_LaneIdx4
27460/* 55577*/ OPC_CheckType, MVT::i32,
27461/* 55579*/ OPC_MoveParent,
27462/* 55580*/ OPC_CheckType, MVT::f32,
27463/* 55582*/ OPC_EmitConvertToTarget, 1,
27464/* 55584*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_F32x4), 0,
27465 MVT::f32, 2/*#Ops*/, 0, 2,
27466 // Src: (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx4>>:$idx) - Complexity = 7
27467 // Dst: (EXTRACT_LANE_F32x4:{ *:[f32] } ?:{ *:[v4f32] }:$vec, (imm:{ *:[i32] }):$idx)
27468/* 55592*/ /*Scope*/ 24, /*->55617*/
27469/* 55593*/ OPC_CheckChild0Type, MVT::v2f64,
27470/* 55595*/ OPC_RecordChild1, // #1 = $idx
27471/* 55596*/ OPC_MoveChild1,
27472/* 55597*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
27473/* 55600*/ OPC_CheckPredicate, 8, // Predicate_LaneIdx2
27474/* 55602*/ OPC_CheckType, MVT::i32,
27475/* 55604*/ OPC_MoveParent,
27476/* 55605*/ OPC_CheckType, MVT::f64,
27477/* 55607*/ OPC_EmitConvertToTarget, 1,
27478/* 55609*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_F64x2), 0,
27479 MVT::f64, 2/*#Ops*/, 0, 2,
27480 // Src: (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx2>>:$idx) - Complexity = 7
27481 // Dst: (EXTRACT_LANE_F64x2:{ *:[f64] } ?:{ *:[v2f64] }:$vec, (imm:{ *:[i32] }):$idx)
27482/* 55617*/ 0, /*End of Scope*/
27483/* 55618*/ /*SwitchOpcode*/ 116, TARGET_VAL(WebAssemblyISD::ARGUMENT),// ->55737
27484/* 55621*/ OPC_RecordChild0, // #0 = $argno
27485/* 55622*/ OPC_MoveChild0,
27486/* 55623*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
27487/* 55626*/ OPC_MoveParent,
27488/* 55627*/ OPC_SwitchType /*12 cases */, 7, MVT::i32,// ->55637
27489/* 55630*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_i32), 0,
27490 MVT::i32, 1/*#Ops*/, 0,
27491 // Src: (WebAssemblyargument:{ *:[i32] } (timm:{ *:[i32] }):$argno) - Complexity = 6
27492 // Dst: (ARGUMENT_i32:{ *:[i32] } (timm:{ *:[i32] }):$argno)
27493/* 55637*/ /*SwitchType*/ 7, MVT::i64,// ->55646
27494/* 55639*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_i64), 0,
27495 MVT::i64, 1/*#Ops*/, 0,
27496 // Src: (WebAssemblyargument:{ *:[i64] } (timm:{ *:[i32] }):$argno) - Complexity = 6
27497 // Dst: (ARGUMENT_i64:{ *:[i64] } (timm:{ *:[i32] }):$argno)
27498/* 55646*/ /*SwitchType*/ 7, MVT::funcref,// ->55655
27499/* 55648*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_funcref), 0,
27500 MVT::funcref, 1/*#Ops*/, 0,
27501 // Src: (WebAssemblyargument:{ *:[funcref] } (timm:{ *:[i32] }):$argno) - Complexity = 6
27502 // Dst: (ARGUMENT_funcref:{ *:[funcref] } (timm:{ *:[i32] }):$argno)
27503/* 55655*/ /*SwitchType*/ 7, MVT::externref,// ->55664
27504/* 55657*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_externref), 0,
27505 MVT::externref, 1/*#Ops*/, 0,
27506 // Src: (WebAssemblyargument:{ *:[externref] } (timm:{ *:[i32] }):$argno) - Complexity = 6
27507 // Dst: (ARGUMENT_externref:{ *:[externref] } (timm:{ *:[i32] }):$argno)
27508/* 55664*/ /*SwitchType*/ 7, MVT::f32,// ->55673
27509/* 55666*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_f32), 0,
27510 MVT::f32, 1/*#Ops*/, 0,
27511 // Src: (WebAssemblyargument:{ *:[f32] } (timm:{ *:[i32] }):$argno) - Complexity = 6
27512 // Dst: (ARGUMENT_f32:{ *:[f32] } (timm:{ *:[i32] }):$argno)
27513/* 55673*/ /*SwitchType*/ 7, MVT::f64,// ->55682
27514/* 55675*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_f64), 0,
27515 MVT::f64, 1/*#Ops*/, 0,
27516 // Src: (WebAssemblyargument:{ *:[f64] } (timm:{ *:[i32] }):$argno) - Complexity = 6
27517 // Dst: (ARGUMENT_f64:{ *:[f64] } (timm:{ *:[i32] }):$argno)
27518/* 55682*/ /*SwitchType*/ 7, MVT::v16i8,// ->55691
27519/* 55684*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v16i8), 0,
27520 MVT::v16i8, 1/*#Ops*/, 0,
27521 // Src: (WebAssemblyargument:{ *:[v16i8] } (timm:{ *:[i32] }):$argno) - Complexity = 6
27522 // Dst: (ARGUMENT_v16i8:{ *:[v16i8] } (timm:{ *:[i32] }):$argno)
27523/* 55691*/ /*SwitchType*/ 7, MVT::v8i16,// ->55700
27524/* 55693*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v8i16), 0,
27525 MVT::v8i16, 1/*#Ops*/, 0,
27526 // Src: (WebAssemblyargument:{ *:[v8i16] } (timm:{ *:[i32] }):$argno) - Complexity = 6
27527 // Dst: (ARGUMENT_v8i16:{ *:[v8i16] } (timm:{ *:[i32] }):$argno)
27528/* 55700*/ /*SwitchType*/ 7, MVT::v4i32,// ->55709
27529/* 55702*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v4i32), 0,
27530 MVT::v4i32, 1/*#Ops*/, 0,
27531 // Src: (WebAssemblyargument:{ *:[v4i32] } (timm:{ *:[i32] }):$argno) - Complexity = 6
27532 // Dst: (ARGUMENT_v4i32:{ *:[v4i32] } (timm:{ *:[i32] }):$argno)
27533/* 55709*/ /*SwitchType*/ 7, MVT::v2i64,// ->55718
27534/* 55711*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v2i64), 0,
27535 MVT::v2i64, 1/*#Ops*/, 0,
27536 // Src: (WebAssemblyargument:{ *:[v2i64] } (timm:{ *:[i32] }):$argno) - Complexity = 6
27537 // Dst: (ARGUMENT_v2i64:{ *:[v2i64] } (timm:{ *:[i32] }):$argno)
27538/* 55718*/ /*SwitchType*/ 7, MVT::v4f32,// ->55727
27539/* 55720*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v4f32), 0,
27540 MVT::v4f32, 1/*#Ops*/, 0,
27541 // Src: (WebAssemblyargument:{ *:[v4f32] } (timm:{ *:[i32] }):$argno) - Complexity = 6
27542 // Dst: (ARGUMENT_v4f32:{ *:[v4f32] } (timm:{ *:[i32] }):$argno)
27543/* 55727*/ /*SwitchType*/ 7, MVT::v2f64,// ->55736
27544/* 55729*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v2f64), 0,
27545 MVT::v2f64, 1/*#Ops*/, 0,
27546 // Src: (WebAssemblyargument:{ *:[v2f64] } (timm:{ *:[i32] }):$argno) - Complexity = 6
27547 // Dst: (ARGUMENT_v2f64:{ *:[v2f64] } (timm:{ *:[i32] }):$argno)
27548/* 55736*/ 0, // EndSwitchType
27549/* 55737*/ /*SwitchOpcode*/ 10|128,1/*138*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->55879
27550/* 55741*/ OPC_RecordChild0, // #0 = $addr
27551/* 55742*/ OPC_MoveChild0,
27552/* 55743*/ OPC_SwitchOpcode /*4 cases */, 38, TARGET_VAL(ISD::TargetGlobalAddress),// ->55785
27553/* 55747*/ OPC_MoveParent,
27554/* 55748*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->55773
27555/* 55751*/ OPC_Scope, 9, /*->55762*/ // 2 children in Scope
27556/* 55753*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
27557/* 55755*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I32), 0,
27558 MVT::i32, 1/*#Ops*/, 0,
27559 // Src: (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$addr) - Complexity = 6
27560 // Dst: (CONST_I32:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$addr)
27561/* 55762*/ /*Scope*/ 9, /*->55772*/
27562/* 55763*/ OPC_CheckPatternPredicate, 13, // (!Subtarget->hasAddr64()) && (TM.isPositionIndependent())
27563/* 55765*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_I32), 0,
27564 MVT::i32, 1/*#Ops*/, 0,
27565 // Src: (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$addr) - Complexity = 6
27566 // Dst: (GLOBAL_GET_I32:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$addr)
27567/* 55772*/ 0, /*End of Scope*/
27568/* 55773*/ /*SwitchType*/ 9, MVT::i64,// ->55784
27569/* 55775*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
27570/* 55777*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I64), 0,
27571 MVT::i64, 1/*#Ops*/, 0,
27572 // Src: (WebAssemblywrapper:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$addr) - Complexity = 6
27573 // Dst: (CONST_I64:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$addr)
27574/* 55784*/ 0, // EndSwitchType
27575/* 55785*/ /*SwitchOpcode*/ 25, TARGET_VAL(ISD::TargetGlobalTLSAddress),// ->55813
27576/* 55788*/ OPC_MoveParent,
27577/* 55789*/ OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->55801
27578/* 55792*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
27579/* 55794*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I32), 0,
27580 MVT::i32, 1/*#Ops*/, 0,
27581 // Src: (WebAssemblywrapper:{ *:[i32] } (tglobaltlsaddr:{ *:[i32] }):$addr) - Complexity = 6
27582 // Dst: (CONST_I32:{ *:[i32] } (tglobaltlsaddr:{ *:[i32] }):$addr)
27583/* 55801*/ /*SwitchType*/ 9, MVT::i64,// ->55812
27584/* 55803*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
27585/* 55805*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I64), 0,
27586 MVT::i64, 1/*#Ops*/, 0,
27587 // Src: (WebAssemblywrapper:{ *:[i64] } (tglobaltlsaddr:{ *:[i64] }):$addr) - Complexity = 6
27588 // Dst: (CONST_I64:{ *:[i64] } (tglobaltlsaddr:{ *:[i64] }):$addr)
27589/* 55812*/ 0, // EndSwitchType
27590/* 55813*/ /*SwitchOpcode*/ 38, TARGET_VAL(ISD::TargetExternalSymbol),// ->55854
27591/* 55816*/ OPC_MoveParent,
27592/* 55817*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->55842
27593/* 55820*/ OPC_Scope, 9, /*->55831*/ // 2 children in Scope
27594/* 55822*/ OPC_CheckPatternPredicate, 13, // (!Subtarget->hasAddr64()) && (TM.isPositionIndependent())
27595/* 55824*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_I32), 0,
27596 MVT::i32, 1/*#Ops*/, 0,
27597 // Src: (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$addr) - Complexity = 6
27598 // Dst: (GLOBAL_GET_I32:{ *:[i32] } (texternalsym:{ *:[i32] }):$addr)
27599/* 55831*/ /*Scope*/ 9, /*->55841*/
27600/* 55832*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
27601/* 55834*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I32), 0,
27602 MVT::i32, 1/*#Ops*/, 0,
27603 // Src: (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$addr) - Complexity = 6
27604 // Dst: (CONST_I32:{ *:[i32] } (texternalsym:{ *:[i32] }):$addr)
27605/* 55841*/ 0, /*End of Scope*/
27606/* 55842*/ /*SwitchType*/ 9, MVT::i64,// ->55853
27607/* 55844*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
27608/* 55846*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I64), 0,
27609 MVT::i64, 1/*#Ops*/, 0,
27610 // Src: (WebAssemblywrapper:{ *:[i64] } (texternalsym:{ *:[i64] }):$addr) - Complexity = 6
27611 // Dst: (CONST_I64:{ *:[i64] } (texternalsym:{ *:[i64] }):$addr)
27612/* 55853*/ 0, // EndSwitchType
27613/* 55854*/ /*SwitchOpcode*/ 21, TARGET_VAL(ISD::MCSymbol),// ->55878
27614/* 55857*/ OPC_MoveParent,
27615/* 55858*/ OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->55868
27616/* 55861*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I32), 0,
27617 MVT::i32, 1/*#Ops*/, 0,
27618 // Src: (WebAssemblywrapper:{ *:[i32] } (mcsym:{ *:[i32] }):$sym) - Complexity = 6
27619 // Dst: (CONST_I32:{ *:[i32] } (mcsym:{ *:[i32] }):$sym)
27620/* 55868*/ /*SwitchType*/ 7, MVT::i64,// ->55877
27621/* 55870*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I64), 0,
27622 MVT::i64, 1/*#Ops*/, 0,
27623 // Src: (WebAssemblywrapper:{ *:[i64] } (mcsym:{ *:[i64] }):$sym) - Complexity = 6
27624 // Dst: (CONST_I64:{ *:[i64] } (mcsym:{ *:[i64] }):$sym)
27625/* 55877*/ 0, // EndSwitchType
27626/* 55878*/ 0, // EndSwitchOpcode
27627/* 55879*/ /*SwitchOpcode*/ 30, TARGET_VAL(WebAssemblyISD::WrapperPIC),// ->55912
27628/* 55882*/ OPC_RecordChild0, // #0 = $addr
27629/* 55883*/ OPC_MoveChild0,
27630/* 55884*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
27631/* 55887*/ OPC_MoveParent,
27632/* 55888*/ OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->55900
27633/* 55891*/ OPC_CheckPatternPredicate, 13, // (!Subtarget->hasAddr64()) && (TM.isPositionIndependent())
27634/* 55893*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I32), 0,
27635 MVT::i32, 1/*#Ops*/, 0,
27636 // Src: (WebAssemblywrapperPIC:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$addr) - Complexity = 6
27637 // Dst: (CONST_I32:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$addr)
27638/* 55900*/ /*SwitchType*/ 9, MVT::i64,// ->55911
27639/* 55902*/ OPC_CheckPatternPredicate, 14, // (Subtarget->hasAddr64()) && (TM.isPositionIndependent())
27640/* 55904*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I64), 0,
27641 MVT::i64, 1/*#Ops*/, 0,
27642 // Src: (WebAssemblywrapperPIC:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$addr) - Complexity = 6
27643 // Dst: (CONST_I64:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$addr)
27644/* 55911*/ 0, // EndSwitchType
27645/* 55912*/ /*SwitchOpcode*/ 58, TARGET_VAL(WebAssemblyISD::MEMORY_FILL),// ->55973
27646/* 55915*/ OPC_RecordNode, // #0 = 'wasm_memset' chained node
27647/* 55916*/ OPC_RecordChild1, // #1 = $idx
27648/* 55917*/ OPC_MoveChild1,
27649/* 55918*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
27650/* 55921*/ OPC_CheckType, MVT::i32,
27651/* 55923*/ OPC_MoveParent,
27652/* 55924*/ OPC_RecordChild2, // #2 = $dst
27653/* 55925*/ OPC_Scope, 22, /*->55949*/ // 2 children in Scope
27654/* 55927*/ OPC_CheckChild2Type, MVT::i32,
27655/* 55929*/ OPC_RecordChild3, // #3 = $value
27656/* 55930*/ OPC_CheckChild3Type, MVT::i32,
27657/* 55932*/ OPC_RecordChild4, // #4 = $size
27658/* 55933*/ OPC_CheckChild4Type, MVT::i32,
27659/* 55935*/ OPC_CheckPatternPredicate, 12, // (Subtarget->hasBulkMemory())
27660/* 55937*/ OPC_EmitMergeInputChains1_0,
27661/* 55938*/ OPC_EmitConvertToTarget, 1,
27662/* 55940*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::anonymous_4565MEMORY_FILL_A32), 0|OPFL_Chain,
27663 4/*#Ops*/, 5, 2, 3, 4,
27664 // Src: (wasm_memset (imm:{ *:[i32] }):$idx, I32:{ *:[i32] }:$dst, I32:{ *:[i32] }:$value, I32:{ *:[i32] }:$size) - Complexity = 6
27665 // Dst: (anonymous_4565MEMORY_FILL_A32 (imm:{ *:[i32] }):$idx, I32:{ *:[i32] }:$dst, I32:{ *:[i32] }:$value, I32:{ *:[i32] }:$size)
27666/* 55949*/ /*Scope*/ 22, /*->55972*/
27667/* 55950*/ OPC_CheckChild2Type, MVT::i64,
27668/* 55952*/ OPC_RecordChild3, // #3 = $value
27669/* 55953*/ OPC_CheckChild3Type, MVT::i32,
27670/* 55955*/ OPC_RecordChild4, // #4 = $size
27671/* 55956*/ OPC_CheckChild4Type, MVT::i64,
27672/* 55958*/ OPC_CheckPatternPredicate, 12, // (Subtarget->hasBulkMemory())
27673/* 55960*/ OPC_EmitMergeInputChains1_0,
27674/* 55961*/ OPC_EmitConvertToTarget, 1,
27675/* 55963*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::anonymous_4566MEMORY_FILL_A64), 0|OPFL_Chain,
27676 4/*#Ops*/, 5, 2, 3, 4,
27677 // Src: (wasm_memset (imm:{ *:[i32] }):$idx, I64:{ *:[i64] }:$dst, I32:{ *:[i32] }:$value, I64:{ *:[i64] }:$size) - Complexity = 6
27678 // Dst: (anonymous_4566MEMORY_FILL_A64 (imm:{ *:[i32] }):$idx, I64:{ *:[i64] }:$dst, I32:{ *:[i32] }:$value, I64:{ *:[i64] }:$size)
27679/* 55972*/ 0, /*End of Scope*/
27680/* 55973*/ /*SwitchOpcode*/ 25, TARGET_VAL(ISD::Constant),// ->56001
27681/* 55976*/ OPC_RecordNode, // #0 = $imm
27682/* 55977*/ OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->55989
27683/* 55980*/ OPC_EmitConvertToTarget, 0,
27684/* 55982*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I32), 0,
27685 MVT::i32, 1/*#Ops*/, 1,
27686 // Src: (imm:{ *:[i32] }):$imm - Complexity = 3
27687 // Dst: (CONST_I32:{ *:[i32] } (imm:{ *:[i32] }):$imm)
27688/* 55989*/ /*SwitchType*/ 9, MVT::i64,// ->56000
27689/* 55991*/ OPC_EmitConvertToTarget, 0,
27690/* 55993*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I64), 0,
27691 MVT::i64, 1/*#Ops*/, 1,
27692 // Src: (imm:{ *:[i64] }):$imm - Complexity = 3
27693 // Dst: (CONST_I64:{ *:[i64] } (imm:{ *:[i64] }):$imm)
27694/* 56000*/ 0, // EndSwitchType
27695/* 56001*/ /*SwitchOpcode*/ 14, TARGET_VAL(ISD::BR),// ->56018
27696/* 56004*/ OPC_RecordNode, // #0 = 'br' chained node
27697/* 56005*/ OPC_RecordChild1, // #1 = $dst
27698/* 56006*/ OPC_MoveChild1,
27699/* 56007*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
27700/* 56010*/ OPC_MoveParent,
27701/* 56011*/ OPC_EmitMergeInputChains1_0,
27702/* 56012*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR), 0|OPFL_Chain,
27703 1/*#Ops*/, 1,
27704 // Src: (br (bb:{ *:[Other] }):$dst) - Complexity = 3
27705 // Dst: (BR (bb:{ *:[Other] }):$dst)
27706/* 56018*/ /*SwitchOpcode*/ 24, TARGET_VAL(WebAssemblyISD::BR_TABLE),// ->56045
27707/* 56021*/ OPC_RecordNode, // #0 = 'WebAssemblybr_table' chained node
27708/* 56022*/ OPC_RecordChild1, // #1 = $index
27709/* 56023*/ OPC_Scope, 9, /*->56034*/ // 2 children in Scope
27710/* 56025*/ OPC_CheckChild1Type, MVT::i32,
27711/* 56027*/ OPC_EmitMergeInputChains1_0,
27712/* 56028*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_TABLE_I32), 0|OPFL_Chain|OPFL_Variadic1,
27713 1/*#Ops*/, 1,
27714 // Src: (WebAssemblybr_table I32:{ *:[i32] }:$index) - Complexity = 3
27715 // Dst: (BR_TABLE_I32 I32:{ *:[i32] }:$index)
27716/* 56034*/ /*Scope*/ 9, /*->56044*/
27717/* 56035*/ OPC_CheckChild1Type, MVT::i64,
27718/* 56037*/ OPC_EmitMergeInputChains1_0,
27719/* 56038*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_TABLE_I64), 0|OPFL_Chain|OPFL_Variadic1,
27720 1/*#Ops*/, 1,
27721 // Src: (WebAssemblybr_table I64:{ *:[i64] }:$index) - Complexity = 3
27722 // Dst: (BR_TABLE_I64 I64:{ *:[i64] }:$index)
27723/* 56044*/ 0, /*End of Scope*/
27724/* 56045*/ /*SwitchOpcode*/ 7, TARGET_VAL(WebAssemblyISD::RETURN),// ->56055
27725/* 56048*/ OPC_RecordNode, // #0 = 'WebAssemblyreturn' chained node
27726/* 56049*/ OPC_EmitMergeInputChains1_0,
27727/* 56050*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN), 0|OPFL_Chain|OPFL_Variadic0,
27728 0/*#Ops*/,
27729 // Src: (WebAssemblyreturn) - Complexity = 3
27730 // Dst: (RETURN)
27731/* 56055*/ /*SwitchOpcode*/ 7, TARGET_VAL(ISD::TRAP),// ->56065
27732/* 56058*/ OPC_RecordNode, // #0 = 'trap' chained node
27733/* 56059*/ OPC_EmitMergeInputChains1_0,
27734/* 56060*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::UNREACHABLE), 0|OPFL_Chain,
27735 0/*#Ops*/,
27736 // Src: (trap) - Complexity = 3
27737 // Dst: (UNREACHABLE)
27738/* 56065*/ /*SwitchOpcode*/ 7, TARGET_VAL(ISD::DEBUGTRAP),// ->56075
27739/* 56068*/ OPC_RecordNode, // #0 = 'debugtrap' chained node
27740/* 56069*/ OPC_EmitMergeInputChains1_0,
27741/* 56070*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::DEBUG_UNREACHABLE), 0|OPFL_Chain,
27742 0/*#Ops*/,
27743 // Src: (debugtrap) - Complexity = 3
27744 // Dst: (DEBUG_UNREACHABLE)
27745/* 56075*/ /*SwitchOpcode*/ 9, TARGET_VAL(ISD::CLEANUPRET),// ->56087
27746/* 56078*/ OPC_RecordNode, // #0 = 'cleanupret' chained node
27747/* 56079*/ OPC_CheckPatternPredicate, 9, // (Subtarget->hasExceptionHandling())
27748/* 56081*/ OPC_EmitMergeInputChains1_0,
27749/* 56082*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::CLEANUPRET), 0|OPFL_Chain,
27750 0/*#Ops*/,
27751 // Src: (cleanupret) - Complexity = 3
27752 // Dst: (CLEANUPRET)
27753/* 56087*/ /*SwitchOpcode*/ 23, TARGET_VAL(ISD::CATCHRET),// ->56113
27754/* 56090*/ OPC_RecordNode, // #0 = 'catchret' chained node
27755/* 56091*/ OPC_RecordChild1, // #1 = $dst
27756/* 56092*/ OPC_MoveChild1,
27757/* 56093*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
27758/* 56096*/ OPC_MoveParent,
27759/* 56097*/ OPC_RecordChild2, // #2 = $from
27760/* 56098*/ OPC_MoveChild2,
27761/* 56099*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
27762/* 56102*/ OPC_MoveParent,
27763/* 56103*/ OPC_CheckPatternPredicate, 9, // (Subtarget->hasExceptionHandling())
27764/* 56105*/ OPC_EmitMergeInputChains1_0,
27765/* 56106*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::CATCHRET), 0|OPFL_Chain,
27766 2/*#Ops*/, 1, 2,
27767 // Src: (catchret (bb:{ *:[Other] }):$dst, (bb:{ *:[Other] }):$from) - Complexity = 3
27768 // Dst: (CATCHRET (bb:{ *:[Other] }):$dst, (bb:{ *:[Other] }):$from)
27769/* 56113*/ /*SwitchOpcode*/ 72, TARGET_VAL(ISD::ADD),// ->56188
27770/* 56116*/ OPC_RecordChild0, // #0 = $lhs
27771/* 56117*/ OPC_RecordChild1, // #1 = $rhs
27772/* 56118*/ OPC_SwitchType /*6 cases */, 8, MVT::i32,// ->56129
27773/* 56121*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_I32), 0,
27774 MVT::i32, 2/*#Ops*/, 0, 1,
27775 // Src: (add:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
27776 // Dst: (ADD_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
27777/* 56129*/ /*SwitchType*/ 8, MVT::i64,// ->56139
27778/* 56131*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_I64), 0,
27779 MVT::i64, 2/*#Ops*/, 0, 1,
27780 // Src: (add:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
27781 // Dst: (ADD_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27782/* 56139*/ /*SwitchType*/ 10, MVT::v16i8,// ->56151
27783/* 56141*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27784/* 56143*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_I8x16), 0,
27785 MVT::v16i8, 2/*#Ops*/, 0, 1,
27786 // Src: (add:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
27787 // Dst: (ADD_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27788/* 56151*/ /*SwitchType*/ 10, MVT::v8i16,// ->56163
27789/* 56153*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27790/* 56155*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_I16x8), 0,
27791 MVT::v8i16, 2/*#Ops*/, 0, 1,
27792 // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
27793 // Dst: (ADD_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27794/* 56163*/ /*SwitchType*/ 10, MVT::v4i32,// ->56175
27795/* 56165*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27796/* 56167*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_I32x4), 0,
27797 MVT::v4i32, 2/*#Ops*/, 0, 1,
27798 // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
27799 // Dst: (ADD_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
27800/* 56175*/ /*SwitchType*/ 10, MVT::v2i64,// ->56187
27801/* 56177*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27802/* 56179*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_I64x2), 0,
27803 MVT::v2i64, 2/*#Ops*/, 0, 1,
27804 // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
27805 // Dst: (ADD_I64x2:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs)
27806/* 56187*/ 0, // EndSwitchType
27807/* 56188*/ /*SwitchOpcode*/ 3|128,1/*131*/, TARGET_VAL(ISD::SUB),// ->56323
27808/* 56192*/ OPC_Scope, 24, /*->56218*/ // 3 children in Scope
27809/* 56194*/ OPC_RecordChild0, // #0 = $lhs
27810/* 56195*/ OPC_RecordChild1, // #1 = $rhs
27811/* 56196*/ OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->56207
27812/* 56199*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_I32), 0,
27813 MVT::i32, 2/*#Ops*/, 0, 1,
27814 // Src: (sub:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
27815 // Dst: (SUB_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
27816/* 56207*/ /*SwitchType*/ 8, MVT::i64,// ->56217
27817/* 56209*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_I64), 0,
27818 MVT::i64, 2/*#Ops*/, 0, 1,
27819 // Src: (sub:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
27820 // Dst: (SUB_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27821/* 56217*/ 0, // EndSwitchType
27822/* 56218*/ /*Scope*/ 50, /*->56269*/
27823/* 56219*/ OPC_MoveChild0,
27824/* 56220*/ OPC_CheckImmAllZerosV,
27825/* 56221*/ OPC_MoveParent,
27826/* 56222*/ OPC_RecordChild1, // #0 = $v
27827/* 56223*/ OPC_SwitchType /*4 cases */, 9, MVT::v16i8,// ->56235
27828/* 56226*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27829/* 56228*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_I8x16), 0,
27830 MVT::v16i8, 1/*#Ops*/, 0,
27831 // Src: (sub:{ *:[v16i8] } immAllZerosV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$v) - Complexity = 7
27832 // Dst: (NEG_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$v)
27833/* 56235*/ /*SwitchType*/ 9, MVT::v8i16,// ->56246
27834/* 56237*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27835/* 56239*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_I16x8), 0,
27836 MVT::v8i16, 1/*#Ops*/, 0,
27837 // Src: (sub:{ *:[v8i16] } immAllZerosV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$v) - Complexity = 7
27838 // Dst: (NEG_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$v)
27839/* 56246*/ /*SwitchType*/ 9, MVT::v4i32,// ->56257
27840/* 56248*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27841/* 56250*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_I32x4), 0,
27842 MVT::v4i32, 1/*#Ops*/, 0,
27843 // Src: (sub:{ *:[v4i32] } immAllZerosV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$v) - Complexity = 7
27844 // Dst: (NEG_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$v)
27845/* 56257*/ /*SwitchType*/ 9, MVT::v2i64,// ->56268
27846/* 56259*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27847/* 56261*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_I64x2), 0,
27848 MVT::v2i64, 1/*#Ops*/, 0,
27849 // Src: (sub:{ *:[v2i64] } immAllZerosV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$v) - Complexity = 7
27850 // Dst: (NEG_I64x2:{ *:[v2i64] } V128:{ *:[v2i64] }:$v)
27851/* 56268*/ 0, // EndSwitchType
27852/* 56269*/ /*Scope*/ 52, /*->56322*/
27853/* 56270*/ OPC_RecordChild0, // #0 = $lhs
27854/* 56271*/ OPC_RecordChild1, // #1 = $rhs
27855/* 56272*/ OPC_SwitchType /*4 cases */, 10, MVT::v16i8,// ->56285
27856/* 56275*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27857/* 56277*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_I8x16), 0,
27858 MVT::v16i8, 2/*#Ops*/, 0, 1,
27859 // Src: (sub:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
27860 // Dst: (SUB_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27861/* 56285*/ /*SwitchType*/ 10, MVT::v8i16,// ->56297
27862/* 56287*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27863/* 56289*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_I16x8), 0,
27864 MVT::v8i16, 2/*#Ops*/, 0, 1,
27865 // Src: (sub:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
27866 // Dst: (SUB_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27867/* 56297*/ /*SwitchType*/ 10, MVT::v4i32,// ->56309
27868/* 56299*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27869/* 56301*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_I32x4), 0,
27870 MVT::v4i32, 2/*#Ops*/, 0, 1,
27871 // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
27872 // Dst: (SUB_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
27873/* 56309*/ /*SwitchType*/ 10, MVT::v2i64,// ->56321
27874/* 56311*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27875/* 56313*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_I64x2), 0,
27876 MVT::v2i64, 2/*#Ops*/, 0, 1,
27877 // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
27878 // Dst: (SUB_I64x2:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs)
27879/* 56321*/ 0, // EndSwitchType
27880/* 56322*/ 0, /*End of Scope*/
27881/* 56323*/ /*SwitchOpcode*/ 60, TARGET_VAL(ISD::MUL),// ->56386
27882/* 56326*/ OPC_RecordChild0, // #0 = $lhs
27883/* 56327*/ OPC_RecordChild1, // #1 = $rhs
27884/* 56328*/ OPC_SwitchType /*5 cases */, 8, MVT::i32,// ->56339
27885/* 56331*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_I32), 0,
27886 MVT::i32, 2/*#Ops*/, 0, 1,
27887 // Src: (mul:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
27888 // Dst: (MUL_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
27889/* 56339*/ /*SwitchType*/ 8, MVT::i64,// ->56349
27890/* 56341*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_I64), 0,
27891 MVT::i64, 2/*#Ops*/, 0, 1,
27892 // Src: (mul:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
27893 // Dst: (MUL_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27894/* 56349*/ /*SwitchType*/ 10, MVT::v8i16,// ->56361
27895/* 56351*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27896/* 56353*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_I16x8), 0,
27897 MVT::v8i16, 2/*#Ops*/, 0, 1,
27898 // Src: (mul:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
27899 // Dst: (MUL_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27900/* 56361*/ /*SwitchType*/ 10, MVT::v4i32,// ->56373
27901/* 56363*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27902/* 56365*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_I32x4), 0,
27903 MVT::v4i32, 2/*#Ops*/, 0, 1,
27904 // Src: (mul:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
27905 // Dst: (MUL_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
27906/* 56373*/ /*SwitchType*/ 10, MVT::v2i64,// ->56385
27907/* 56375*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
27908/* 56377*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_I64x2), 0,
27909 MVT::v2i64, 2/*#Ops*/, 0, 1,
27910 // Src: (mul:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
27911 // Dst: (MUL_I64x2:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs)
27912/* 56385*/ 0, // EndSwitchType
27913/* 56386*/ /*SwitchOpcode*/ 24, TARGET_VAL(ISD::SDIV),// ->56413
27914/* 56389*/ OPC_RecordChild0, // #0 = $lhs
27915/* 56390*/ OPC_RecordChild1, // #1 = $rhs
27916/* 56391*/ OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->56402
27917/* 56394*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_S_I32), 0,
27918 MVT::i32, 2/*#Ops*/, 0, 1,
27919 // Src: (sdiv:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
27920 // Dst: (DIV_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
27921/* 56402*/ /*SwitchType*/ 8, MVT::i64,// ->56412
27922/* 56404*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_S_I64), 0,
27923 MVT::i64, 2/*#Ops*/, 0, 1,
27924 // Src: (sdiv:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
27925 // Dst: (DIV_S_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27926/* 56412*/ 0, // EndSwitchType
27927/* 56413*/ /*SwitchOpcode*/ 24, TARGET_VAL(ISD::UDIV),// ->56440
27928/* 56416*/ OPC_RecordChild0, // #0 = $lhs
27929/* 56417*/ OPC_RecordChild1, // #1 = $rhs
27930/* 56418*/ OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->56429
27931/* 56421*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_U_I32), 0,
27932 MVT::i32, 2/*#Ops*/, 0, 1,
27933 // Src: (udiv:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
27934 // Dst: (DIV_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
27935/* 56429*/ /*SwitchType*/ 8, MVT::i64,// ->56439
27936/* 56431*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_U_I64), 0,
27937 MVT::i64, 2/*#Ops*/, 0, 1,
27938 // Src: (udiv:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
27939 // Dst: (DIV_U_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27940/* 56439*/ 0, // EndSwitchType
27941/* 56440*/ /*SwitchOpcode*/ 24, TARGET_VAL(ISD::SREM),// ->56467
27942/* 56443*/ OPC_RecordChild0, // #0 = $lhs
27943/* 56444*/ OPC_RecordChild1, // #1 = $rhs
27944/* 56445*/ OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->56456
27945/* 56448*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REM_S_I32), 0,
27946 MVT::i32, 2/*#Ops*/, 0, 1,
27947 // Src: (srem:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
27948 // Dst: (REM_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
27949/* 56456*/ /*SwitchType*/ 8, MVT::i64,// ->56466
27950/* 56458*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REM_S_I64), 0,
27951 MVT::i64, 2/*#Ops*/, 0, 1,
27952 // Src: (srem:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
27953 // Dst: (REM_S_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27954/* 56466*/ 0, // EndSwitchType
27955/* 56467*/ /*SwitchOpcode*/ 24, TARGET_VAL(ISD::UREM),// ->56494
27956/* 56470*/ OPC_RecordChild0, // #0 = $lhs
27957/* 56471*/ OPC_RecordChild1, // #1 = $rhs
27958/* 56472*/ OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->56483
27959/* 56475*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REM_U_I32), 0,
27960 MVT::i32, 2/*#Ops*/, 0, 1,
27961 // Src: (urem:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
27962 // Dst: (REM_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
27963/* 56483*/ /*SwitchType*/ 8, MVT::i64,// ->56493
27964/* 56485*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REM_U_I64), 0,
27965 MVT::i64, 2/*#Ops*/, 0, 1,
27966 // Src: (urem:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
27967 // Dst: (REM_U_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27968/* 56493*/ 0, // EndSwitchType
27969/* 56494*/ /*SwitchOpcode*/ 95|128,12/*1631*/, TARGET_VAL(ISD::OR),// ->58129
27970/* 56498*/ OPC_Scope, 24, /*->56524*/ // 3 children in Scope
27971/* 56500*/ OPC_RecordChild0, // #0 = $lhs
27972/* 56501*/ OPC_RecordChild1, // #1 = $rhs
27973/* 56502*/ OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->56513
27974/* 56505*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR_I32), 0,
27975 MVT::i32, 2/*#Ops*/, 0, 1,
27976 // Src: (or:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
27977 // Dst: (OR_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
27978/* 56513*/ /*SwitchType*/ 8, MVT::i64,// ->56523
27979/* 56515*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR_I64), 0,
27980 MVT::i64, 2/*#Ops*/, 0, 1,
27981 // Src: (or:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
27982 // Dst: (OR_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27983/* 56523*/ 0, // EndSwitchType
27984/* 56524*/ /*Scope*/ 21|128,12/*1557*/, /*->58083*/
27985/* 56526*/ OPC_MoveChild0,
27986/* 56527*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
27987/* 56530*/ OPC_Scope, 102|128,1/*230*/, /*->56763*/ // 9 children in Scope
27988/* 56533*/ OPC_RecordChild0, // #0 = $c
27989/* 56534*/ OPC_RecordChild1, // #1 = $v1
27990/* 56535*/ OPC_MoveParent,
27991/* 56536*/ OPC_MoveChild1,
27992/* 56537*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
27993/* 56540*/ OPC_Scope, 81, /*->56623*/ // 4 children in Scope
27994/* 56542*/ OPC_MoveChild0,
27995/* 56543*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
27996/* 56546*/ OPC_Scope, 54, /*->56602*/ // 2 children in Scope
27997/* 56548*/ OPC_CheckChild0Same, 0,
27998/* 56550*/ OPC_MoveChild1,
27999/* 56551*/ OPC_CheckImmAllOnesV,
28000/* 56552*/ OPC_MoveParent,
28001/* 56553*/ OPC_MoveParent,
28002/* 56554*/ OPC_RecordChild1, // #2 = $v2
28003/* 56555*/ OPC_MoveParent,
28004/* 56556*/ OPC_SwitchType /*4 cases */, 9, MVT::v16i8,// ->56568
28005/* 56559*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28006 MVT::v16i8, 3/*#Ops*/, 1, 2, 0,
28007 // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1), (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, immAllOnesV:{ *:[v16i8] }), V128:{ *:[v16i8] }:$v2)) - Complexity = 16
28008 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
28009/* 56568*/ /*SwitchType*/ 9, MVT::v8i16,// ->56579
28010/* 56570*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28011 MVT::v8i16, 3/*#Ops*/, 1, 2, 0,
28012 // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1), (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, immAllOnesV:{ *:[v8i16] }), V128:{ *:[v8i16] }:$v2)) - Complexity = 16
28013 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
28014/* 56579*/ /*SwitchType*/ 9, MVT::v4i32,// ->56590
28015/* 56581*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28016 MVT::v4i32, 3/*#Ops*/, 1, 2, 0,
28017 // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, immAllOnesV:{ *:[v4i32] }), V128:{ *:[v4i32] }:$v2)) - Complexity = 16
28018 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
28019/* 56590*/ /*SwitchType*/ 9, MVT::v2i64,// ->56601
28020/* 56592*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28021 MVT::v2i64, 3/*#Ops*/, 1, 2, 0,
28022 // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, immAllOnesV:{ *:[v2i64] }), V128:{ *:[v2i64] }:$v2)) - Complexity = 16
28023 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
28024/* 56601*/ 0, // EndSwitchType
28025/* 56602*/ /*Scope*/ 19, /*->56622*/
28026/* 56603*/ OPC_MoveChild0,
28027/* 56604*/ OPC_CheckImmAllOnesV,
28028/* 56605*/ OPC_MoveParent,
28029/* 56606*/ OPC_CheckChild1Same, 0,
28030/* 56608*/ OPC_MoveParent,
28031/* 56609*/ OPC_RecordChild1, // #2 = $v2
28032/* 56610*/ OPC_MoveParent,
28033/* 56611*/ OPC_CheckType, MVT::v16i8,
28034/* 56613*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28035 MVT::v16i8, 3/*#Ops*/, 1, 2, 0,
28036 // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1), (and:{ *:[v16i8] } (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$c), V128:{ *:[v16i8] }:$v2)) - Complexity = 16
28037 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
28038/* 56622*/ 0, /*End of Scope*/
28039/* 56623*/ /*Scope*/ 45, /*->56669*/
28040/* 56624*/ OPC_RecordChild0, // #2 = $v2
28041/* 56625*/ OPC_MoveChild1,
28042/* 56626*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28043/* 56629*/ OPC_Scope, 18, /*->56649*/ // 2 children in Scope
28044/* 56631*/ OPC_CheckChild0Same, 0,
28045/* 56633*/ OPC_MoveChild1,
28046/* 56634*/ OPC_CheckImmAllOnesV,
28047/* 56635*/ OPC_MoveParent,
28048/* 56636*/ OPC_MoveParent,
28049/* 56637*/ OPC_MoveParent,
28050/* 56638*/ OPC_CheckType, MVT::v16i8,
28051/* 56640*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28052 MVT::v16i8, 3/*#Ops*/, 1, 2, 0,
28053 // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, immAllOnesV:{ *:[v16i8] }))) - Complexity = 16
28054 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
28055/* 56649*/ /*Scope*/ 18, /*->56668*/
28056/* 56650*/ OPC_MoveChild0,
28057/* 56651*/ OPC_CheckImmAllOnesV,
28058/* 56652*/ OPC_MoveParent,
28059/* 56653*/ OPC_CheckChild1Same, 0,
28060/* 56655*/ OPC_MoveParent,
28061/* 56656*/ OPC_MoveParent,
28062/* 56657*/ OPC_CheckType, MVT::v16i8,
28063/* 56659*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28064 MVT::v16i8, 3/*#Ops*/, 1, 2, 0,
28065 // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$c))) - Complexity = 16
28066 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
28067/* 56668*/ 0, /*End of Scope*/
28068/* 56669*/ /*Scope*/ 46, /*->56716*/
28069/* 56670*/ OPC_MoveChild0,
28070/* 56671*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28071/* 56674*/ OPC_Scope, 19, /*->56695*/ // 2 children in Scope
28072/* 56676*/ OPC_CheckChild0Same, 1,
28073/* 56678*/ OPC_MoveChild1,
28074/* 56679*/ OPC_CheckImmAllOnesV,
28075/* 56680*/ OPC_MoveParent,
28076/* 56681*/ OPC_MoveParent,
28077/* 56682*/ OPC_RecordChild1, // #2 = $v2
28078/* 56683*/ OPC_MoveParent,
28079/* 56684*/ OPC_CheckType, MVT::v16i8,
28080/* 56686*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28081 MVT::v16i8, 3/*#Ops*/, 0, 2, 1,
28082 // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c), (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, immAllOnesV:{ *:[v16i8] }), V128:{ *:[v16i8] }:$v2)) - Complexity = 16
28083 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
28084/* 56695*/ /*Scope*/ 19, /*->56715*/
28085/* 56696*/ OPC_MoveChild0,
28086/* 56697*/ OPC_CheckImmAllOnesV,
28087/* 56698*/ OPC_MoveParent,
28088/* 56699*/ OPC_CheckChild1Same, 1,
28089/* 56701*/ OPC_MoveParent,
28090/* 56702*/ OPC_RecordChild1, // #2 = $v2
28091/* 56703*/ OPC_MoveParent,
28092/* 56704*/ OPC_CheckType, MVT::v16i8,
28093/* 56706*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28094 MVT::v16i8, 3/*#Ops*/, 0, 2, 1,
28095 // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c), (and:{ *:[v16i8] } (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$c), V128:{ *:[v16i8] }:$v2)) - Complexity = 16
28096 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
28097/* 56715*/ 0, /*End of Scope*/
28098/* 56716*/ /*Scope*/ 45, /*->56762*/
28099/* 56717*/ OPC_RecordChild0, // #2 = $v2
28100/* 56718*/ OPC_MoveChild1,
28101/* 56719*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28102/* 56722*/ OPC_Scope, 18, /*->56742*/ // 2 children in Scope
28103/* 56724*/ OPC_CheckChild0Same, 1,
28104/* 56726*/ OPC_MoveChild1,
28105/* 56727*/ OPC_CheckImmAllOnesV,
28106/* 56728*/ OPC_MoveParent,
28107/* 56729*/ OPC_MoveParent,
28108/* 56730*/ OPC_MoveParent,
28109/* 56731*/ OPC_CheckType, MVT::v16i8,
28110/* 56733*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28111 MVT::v16i8, 3/*#Ops*/, 0, 2, 1,
28112 // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, immAllOnesV:{ *:[v16i8] }))) - Complexity = 16
28113 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
28114/* 56742*/ /*Scope*/ 18, /*->56761*/
28115/* 56743*/ OPC_MoveChild0,
28116/* 56744*/ OPC_CheckImmAllOnesV,
28117/* 56745*/ OPC_MoveParent,
28118/* 56746*/ OPC_CheckChild1Same, 1,
28119/* 56748*/ OPC_MoveParent,
28120/* 56749*/ OPC_MoveParent,
28121/* 56750*/ OPC_CheckType, MVT::v16i8,
28122/* 56752*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28123 MVT::v16i8, 3/*#Ops*/, 0, 2, 1,
28124 // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$c))) - Complexity = 16
28125 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
28126/* 56761*/ 0, /*End of Scope*/
28127/* 56762*/ 0, /*End of Scope*/
28128/* 56763*/ /*Scope*/ 98, /*->56862*/
28129/* 56764*/ OPC_MoveChild0,
28130/* 56765*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28131/* 56768*/ OPC_Scope, 45, /*->56815*/ // 2 children in Scope
28132/* 56770*/ OPC_RecordChild0, // #0 = $c
28133/* 56771*/ OPC_MoveChild1,
28134/* 56772*/ OPC_CheckImmAllOnesV,
28135/* 56773*/ OPC_MoveParent,
28136/* 56774*/ OPC_MoveParent,
28137/* 56775*/ OPC_RecordChild1, // #1 = $v2
28138/* 56776*/ OPC_MoveParent,
28139/* 56777*/ OPC_MoveChild1,
28140/* 56778*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28141/* 56781*/ OPC_Scope, 15, /*->56798*/ // 2 children in Scope
28142/* 56783*/ OPC_CheckChild0Same, 0,
28143/* 56785*/ OPC_RecordChild1, // #2 = $v1
28144/* 56786*/ OPC_MoveParent,
28145/* 56787*/ OPC_CheckType, MVT::v16i8,
28146/* 56789*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28147 MVT::v16i8, 3/*#Ops*/, 2, 1, 0,
28148 // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, immAllOnesV:{ *:[v16i8] }), V128:{ *:[v16i8] }:$v2), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1)) - Complexity = 16
28149 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
28150/* 56798*/ /*Scope*/ 15, /*->56814*/
28151/* 56799*/ OPC_RecordChild0, // #2 = $v1
28152/* 56800*/ OPC_CheckChild1Same, 0,
28153/* 56802*/ OPC_MoveParent,
28154/* 56803*/ OPC_CheckType, MVT::v16i8,
28155/* 56805*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28156 MVT::v16i8, 3/*#Ops*/, 2, 1, 0,
28157 // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, immAllOnesV:{ *:[v16i8] }), V128:{ *:[v16i8] }:$v2), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c)) - Complexity = 16
28158 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
28159/* 56814*/ 0, /*End of Scope*/
28160/* 56815*/ /*Scope*/ 45, /*->56861*/
28161/* 56816*/ OPC_MoveChild0,
28162/* 56817*/ OPC_CheckImmAllOnesV,
28163/* 56818*/ OPC_MoveParent,
28164/* 56819*/ OPC_RecordChild1, // #0 = $c
28165/* 56820*/ OPC_MoveParent,
28166/* 56821*/ OPC_RecordChild1, // #1 = $v2
28167/* 56822*/ OPC_MoveParent,
28168/* 56823*/ OPC_MoveChild1,
28169/* 56824*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28170/* 56827*/ OPC_Scope, 15, /*->56844*/ // 2 children in Scope
28171/* 56829*/ OPC_CheckChild0Same, 0,
28172/* 56831*/ OPC_RecordChild1, // #2 = $v1
28173/* 56832*/ OPC_MoveParent,
28174/* 56833*/ OPC_CheckType, MVT::v16i8,
28175/* 56835*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28176 MVT::v16i8, 3/*#Ops*/, 2, 1, 0,
28177 // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$c), V128:{ *:[v16i8] }:$v2), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1)) - Complexity = 16
28178 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
28179/* 56844*/ /*Scope*/ 15, /*->56860*/
28180/* 56845*/ OPC_RecordChild0, // #2 = $v1
28181/* 56846*/ OPC_CheckChild1Same, 0,
28182/* 56848*/ OPC_MoveParent,
28183/* 56849*/ OPC_CheckType, MVT::v16i8,
28184/* 56851*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28185 MVT::v16i8, 3/*#Ops*/, 2, 1, 0,
28186 // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$c), V128:{ *:[v16i8] }:$v2), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c)) - Complexity = 16
28187 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
28188/* 56860*/ 0, /*End of Scope*/
28189/* 56861*/ 0, /*End of Scope*/
28190/* 56862*/ /*Scope*/ 17|128,2/*273*/, /*->57137*/
28191/* 56864*/ OPC_RecordChild0, // #0 = $v2
28192/* 56865*/ OPC_Scope, 96, /*->56963*/ // 2 children in Scope
28193/* 56867*/ OPC_MoveChild1,
28194/* 56868*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28195/* 56871*/ OPC_Scope, 44, /*->56917*/ // 2 children in Scope
28196/* 56873*/ OPC_RecordChild0, // #1 = $c
28197/* 56874*/ OPC_MoveChild1,
28198/* 56875*/ OPC_CheckImmAllOnesV,
28199/* 56876*/ OPC_MoveParent,
28200/* 56877*/ OPC_MoveParent,
28201/* 56878*/ OPC_MoveParent,
28202/* 56879*/ OPC_MoveChild1,
28203/* 56880*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28204/* 56883*/ OPC_Scope, 15, /*->56900*/ // 2 children in Scope
28205/* 56885*/ OPC_CheckChild0Same, 1,
28206/* 56887*/ OPC_RecordChild1, // #2 = $v1
28207/* 56888*/ OPC_MoveParent,
28208/* 56889*/ OPC_CheckType, MVT::v16i8,
28209/* 56891*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28210 MVT::v16i8, 3/*#Ops*/, 2, 0, 1,
28211 // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, immAllOnesV:{ *:[v16i8] })), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1)) - Complexity = 16
28212 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
28213/* 56900*/ /*Scope*/ 15, /*->56916*/
28214/* 56901*/ OPC_RecordChild0, // #2 = $v1
28215/* 56902*/ OPC_CheckChild1Same, 1,
28216/* 56904*/ OPC_MoveParent,
28217/* 56905*/ OPC_CheckType, MVT::v16i8,
28218/* 56907*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28219 MVT::v16i8, 3/*#Ops*/, 2, 0, 1,
28220 // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, immAllOnesV:{ *:[v16i8] })), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c)) - Complexity = 16
28221 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
28222/* 56916*/ 0, /*End of Scope*/
28223/* 56917*/ /*Scope*/ 44, /*->56962*/
28224/* 56918*/ OPC_MoveChild0,
28225/* 56919*/ OPC_CheckImmAllOnesV,
28226/* 56920*/ OPC_MoveParent,
28227/* 56921*/ OPC_RecordChild1, // #1 = $c
28228/* 56922*/ OPC_MoveParent,
28229/* 56923*/ OPC_MoveParent,
28230/* 56924*/ OPC_MoveChild1,
28231/* 56925*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28232/* 56928*/ OPC_Scope, 15, /*->56945*/ // 2 children in Scope
28233/* 56930*/ OPC_CheckChild0Same, 1,
28234/* 56932*/ OPC_RecordChild1, // #2 = $v1
28235/* 56933*/ OPC_MoveParent,
28236/* 56934*/ OPC_CheckType, MVT::v16i8,
28237/* 56936*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28238 MVT::v16i8, 3/*#Ops*/, 2, 0, 1,
28239 // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$c)), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1)) - Complexity = 16
28240 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
28241/* 56945*/ /*Scope*/ 15, /*->56961*/
28242/* 56946*/ OPC_RecordChild0, // #2 = $v1
28243/* 56947*/ OPC_CheckChild1Same, 1,
28244/* 56949*/ OPC_MoveParent,
28245/* 56950*/ OPC_CheckType, MVT::v16i8,
28246/* 56952*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28247 MVT::v16i8, 3/*#Ops*/, 2, 0, 1,
28248 // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$c)), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c)) - Complexity = 16
28249 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
28250/* 56961*/ 0, /*End of Scope*/
28251/* 56962*/ 0, /*End of Scope*/
28252/* 56963*/ /*Scope*/ 43|128,1/*171*/, /*->57136*/
28253/* 56965*/ OPC_RecordChild1, // #1 = $v1
28254/* 56966*/ OPC_MoveParent,
28255/* 56967*/ OPC_MoveChild1,
28256/* 56968*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28257/* 56971*/ OPC_Scope, 23, /*->56996*/ // 4 children in Scope
28258/* 56973*/ OPC_MoveChild0,
28259/* 56974*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28260/* 56977*/ OPC_MoveChild0,
28261/* 56978*/ OPC_CheckImmAllOnesV,
28262/* 56979*/ OPC_MoveParent,
28263/* 56980*/ OPC_CheckChild1Same, 0,
28264/* 56982*/ OPC_MoveParent,
28265/* 56983*/ OPC_RecordChild1, // #2 = $v2
28266/* 56984*/ OPC_MoveParent,
28267/* 56985*/ OPC_CheckType, MVT::v8i16,
28268/* 56987*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28269 MVT::v8i16, 3/*#Ops*/, 1, 2, 0,
28270 // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1), (and:{ *:[v8i16] } (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$c), V128:{ *:[v8i16] }:$v2)) - Complexity = 16
28271 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
28272/* 56996*/ /*Scope*/ 45, /*->57042*/
28273/* 56997*/ OPC_RecordChild0, // #2 = $v2
28274/* 56998*/ OPC_MoveChild1,
28275/* 56999*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28276/* 57002*/ OPC_Scope, 18, /*->57022*/ // 2 children in Scope
28277/* 57004*/ OPC_CheckChild0Same, 0,
28278/* 57006*/ OPC_MoveChild1,
28279/* 57007*/ OPC_CheckImmAllOnesV,
28280/* 57008*/ OPC_MoveParent,
28281/* 57009*/ OPC_MoveParent,
28282/* 57010*/ OPC_MoveParent,
28283/* 57011*/ OPC_CheckType, MVT::v8i16,
28284/* 57013*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28285 MVT::v8i16, 3/*#Ops*/, 1, 2, 0,
28286 // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, immAllOnesV:{ *:[v8i16] }))) - Complexity = 16
28287 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
28288/* 57022*/ /*Scope*/ 18, /*->57041*/
28289/* 57023*/ OPC_MoveChild0,
28290/* 57024*/ OPC_CheckImmAllOnesV,
28291/* 57025*/ OPC_MoveParent,
28292/* 57026*/ OPC_CheckChild1Same, 0,
28293/* 57028*/ OPC_MoveParent,
28294/* 57029*/ OPC_MoveParent,
28295/* 57030*/ OPC_CheckType, MVT::v8i16,
28296/* 57032*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28297 MVT::v8i16, 3/*#Ops*/, 1, 2, 0,
28298 // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$c))) - Complexity = 16
28299 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
28300/* 57041*/ 0, /*End of Scope*/
28301/* 57042*/ /*Scope*/ 46, /*->57089*/
28302/* 57043*/ OPC_MoveChild0,
28303/* 57044*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28304/* 57047*/ OPC_Scope, 19, /*->57068*/ // 2 children in Scope
28305/* 57049*/ OPC_CheckChild0Same, 1,
28306/* 57051*/ OPC_MoveChild1,
28307/* 57052*/ OPC_CheckImmAllOnesV,
28308/* 57053*/ OPC_MoveParent,
28309/* 57054*/ OPC_MoveParent,
28310/* 57055*/ OPC_RecordChild1, // #2 = $v2
28311/* 57056*/ OPC_MoveParent,
28312/* 57057*/ OPC_CheckType, MVT::v8i16,
28313/* 57059*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28314 MVT::v8i16, 3/*#Ops*/, 0, 2, 1,
28315 // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c), (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, immAllOnesV:{ *:[v8i16] }), V128:{ *:[v8i16] }:$v2)) - Complexity = 16
28316 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
28317/* 57068*/ /*Scope*/ 19, /*->57088*/
28318/* 57069*/ OPC_MoveChild0,
28319/* 57070*/ OPC_CheckImmAllOnesV,
28320/* 57071*/ OPC_MoveParent,
28321/* 57072*/ OPC_CheckChild1Same, 1,
28322/* 57074*/ OPC_MoveParent,
28323/* 57075*/ OPC_RecordChild1, // #2 = $v2
28324/* 57076*/ OPC_MoveParent,
28325/* 57077*/ OPC_CheckType, MVT::v8i16,
28326/* 57079*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28327 MVT::v8i16, 3/*#Ops*/, 0, 2, 1,
28328 // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c), (and:{ *:[v8i16] } (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$c), V128:{ *:[v8i16] }:$v2)) - Complexity = 16
28329 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
28330/* 57088*/ 0, /*End of Scope*/
28331/* 57089*/ /*Scope*/ 45, /*->57135*/
28332/* 57090*/ OPC_RecordChild0, // #2 = $v2
28333/* 57091*/ OPC_MoveChild1,
28334/* 57092*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28335/* 57095*/ OPC_Scope, 18, /*->57115*/ // 2 children in Scope
28336/* 57097*/ OPC_CheckChild0Same, 1,
28337/* 57099*/ OPC_MoveChild1,
28338/* 57100*/ OPC_CheckImmAllOnesV,
28339/* 57101*/ OPC_MoveParent,
28340/* 57102*/ OPC_MoveParent,
28341/* 57103*/ OPC_MoveParent,
28342/* 57104*/ OPC_CheckType, MVT::v8i16,
28343/* 57106*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28344 MVT::v8i16, 3/*#Ops*/, 0, 2, 1,
28345 // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, immAllOnesV:{ *:[v8i16] }))) - Complexity = 16
28346 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
28347/* 57115*/ /*Scope*/ 18, /*->57134*/
28348/* 57116*/ OPC_MoveChild0,
28349/* 57117*/ OPC_CheckImmAllOnesV,
28350/* 57118*/ OPC_MoveParent,
28351/* 57119*/ OPC_CheckChild1Same, 1,
28352/* 57121*/ OPC_MoveParent,
28353/* 57122*/ OPC_MoveParent,
28354/* 57123*/ OPC_CheckType, MVT::v8i16,
28355/* 57125*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28356 MVT::v8i16, 3/*#Ops*/, 0, 2, 1,
28357 // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$c))) - Complexity = 16
28358 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
28359/* 57134*/ 0, /*End of Scope*/
28360/* 57135*/ 0, /*End of Scope*/
28361/* 57136*/ 0, /*End of Scope*/
28362/* 57137*/ /*Scope*/ 98, /*->57236*/
28363/* 57138*/ OPC_MoveChild0,
28364/* 57139*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28365/* 57142*/ OPC_Scope, 45, /*->57189*/ // 2 children in Scope
28366/* 57144*/ OPC_RecordChild0, // #0 = $c
28367/* 57145*/ OPC_MoveChild1,
28368/* 57146*/ OPC_CheckImmAllOnesV,
28369/* 57147*/ OPC_MoveParent,
28370/* 57148*/ OPC_MoveParent,
28371/* 57149*/ OPC_RecordChild1, // #1 = $v2
28372/* 57150*/ OPC_MoveParent,
28373/* 57151*/ OPC_MoveChild1,
28374/* 57152*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28375/* 57155*/ OPC_Scope, 15, /*->57172*/ // 2 children in Scope
28376/* 57157*/ OPC_CheckChild0Same, 0,
28377/* 57159*/ OPC_RecordChild1, // #2 = $v1
28378/* 57160*/ OPC_MoveParent,
28379/* 57161*/ OPC_CheckType, MVT::v8i16,
28380/* 57163*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28381 MVT::v8i16, 3/*#Ops*/, 2, 1, 0,
28382 // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, immAllOnesV:{ *:[v8i16] }), V128:{ *:[v8i16] }:$v2), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1)) - Complexity = 16
28383 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
28384/* 57172*/ /*Scope*/ 15, /*->57188*/
28385/* 57173*/ OPC_RecordChild0, // #2 = $v1
28386/* 57174*/ OPC_CheckChild1Same, 0,
28387/* 57176*/ OPC_MoveParent,
28388/* 57177*/ OPC_CheckType, MVT::v8i16,
28389/* 57179*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28390 MVT::v8i16, 3/*#Ops*/, 2, 1, 0,
28391 // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, immAllOnesV:{ *:[v8i16] }), V128:{ *:[v8i16] }:$v2), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c)) - Complexity = 16
28392 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
28393/* 57188*/ 0, /*End of Scope*/
28394/* 57189*/ /*Scope*/ 45, /*->57235*/
28395/* 57190*/ OPC_MoveChild0,
28396/* 57191*/ OPC_CheckImmAllOnesV,
28397/* 57192*/ OPC_MoveParent,
28398/* 57193*/ OPC_RecordChild1, // #0 = $c
28399/* 57194*/ OPC_MoveParent,
28400/* 57195*/ OPC_RecordChild1, // #1 = $v2
28401/* 57196*/ OPC_MoveParent,
28402/* 57197*/ OPC_MoveChild1,
28403/* 57198*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28404/* 57201*/ OPC_Scope, 15, /*->57218*/ // 2 children in Scope
28405/* 57203*/ OPC_CheckChild0Same, 0,
28406/* 57205*/ OPC_RecordChild1, // #2 = $v1
28407/* 57206*/ OPC_MoveParent,
28408/* 57207*/ OPC_CheckType, MVT::v8i16,
28409/* 57209*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28410 MVT::v8i16, 3/*#Ops*/, 2, 1, 0,
28411 // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$c), V128:{ *:[v8i16] }:$v2), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1)) - Complexity = 16
28412 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
28413/* 57218*/ /*Scope*/ 15, /*->57234*/
28414/* 57219*/ OPC_RecordChild0, // #2 = $v1
28415/* 57220*/ OPC_CheckChild1Same, 0,
28416/* 57222*/ OPC_MoveParent,
28417/* 57223*/ OPC_CheckType, MVT::v8i16,
28418/* 57225*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28419 MVT::v8i16, 3/*#Ops*/, 2, 1, 0,
28420 // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$c), V128:{ *:[v8i16] }:$v2), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c)) - Complexity = 16
28421 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
28422/* 57234*/ 0, /*End of Scope*/
28423/* 57235*/ 0, /*End of Scope*/
28424/* 57236*/ /*Scope*/ 17|128,2/*273*/, /*->57511*/
28425/* 57238*/ OPC_RecordChild0, // #0 = $v2
28426/* 57239*/ OPC_Scope, 96, /*->57337*/ // 2 children in Scope
28427/* 57241*/ OPC_MoveChild1,
28428/* 57242*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28429/* 57245*/ OPC_Scope, 44, /*->57291*/ // 2 children in Scope
28430/* 57247*/ OPC_RecordChild0, // #1 = $c
28431/* 57248*/ OPC_MoveChild1,
28432/* 57249*/ OPC_CheckImmAllOnesV,
28433/* 57250*/ OPC_MoveParent,
28434/* 57251*/ OPC_MoveParent,
28435/* 57252*/ OPC_MoveParent,
28436/* 57253*/ OPC_MoveChild1,
28437/* 57254*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28438/* 57257*/ OPC_Scope, 15, /*->57274*/ // 2 children in Scope
28439/* 57259*/ OPC_CheckChild0Same, 1,
28440/* 57261*/ OPC_RecordChild1, // #2 = $v1
28441/* 57262*/ OPC_MoveParent,
28442/* 57263*/ OPC_CheckType, MVT::v8i16,
28443/* 57265*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28444 MVT::v8i16, 3/*#Ops*/, 2, 0, 1,
28445 // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, immAllOnesV:{ *:[v8i16] })), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1)) - Complexity = 16
28446 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
28447/* 57274*/ /*Scope*/ 15, /*->57290*/
28448/* 57275*/ OPC_RecordChild0, // #2 = $v1
28449/* 57276*/ OPC_CheckChild1Same, 1,
28450/* 57278*/ OPC_MoveParent,
28451/* 57279*/ OPC_CheckType, MVT::v8i16,
28452/* 57281*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28453 MVT::v8i16, 3/*#Ops*/, 2, 0, 1,
28454 // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, immAllOnesV:{ *:[v8i16] })), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c)) - Complexity = 16
28455 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
28456/* 57290*/ 0, /*End of Scope*/
28457/* 57291*/ /*Scope*/ 44, /*->57336*/
28458/* 57292*/ OPC_MoveChild0,
28459/* 57293*/ OPC_CheckImmAllOnesV,
28460/* 57294*/ OPC_MoveParent,
28461/* 57295*/ OPC_RecordChild1, // #1 = $c
28462/* 57296*/ OPC_MoveParent,
28463/* 57297*/ OPC_MoveParent,
28464/* 57298*/ OPC_MoveChild1,
28465/* 57299*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28466/* 57302*/ OPC_Scope, 15, /*->57319*/ // 2 children in Scope
28467/* 57304*/ OPC_CheckChild0Same, 1,
28468/* 57306*/ OPC_RecordChild1, // #2 = $v1
28469/* 57307*/ OPC_MoveParent,
28470/* 57308*/ OPC_CheckType, MVT::v8i16,
28471/* 57310*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28472 MVT::v8i16, 3/*#Ops*/, 2, 0, 1,
28473 // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$c)), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1)) - Complexity = 16
28474 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
28475/* 57319*/ /*Scope*/ 15, /*->57335*/
28476/* 57320*/ OPC_RecordChild0, // #2 = $v1
28477/* 57321*/ OPC_CheckChild1Same, 1,
28478/* 57323*/ OPC_MoveParent,
28479/* 57324*/ OPC_CheckType, MVT::v8i16,
28480/* 57326*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28481 MVT::v8i16, 3/*#Ops*/, 2, 0, 1,
28482 // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$c)), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c)) - Complexity = 16
28483 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
28484/* 57335*/ 0, /*End of Scope*/
28485/* 57336*/ 0, /*End of Scope*/
28486/* 57337*/ /*Scope*/ 43|128,1/*171*/, /*->57510*/
28487/* 57339*/ OPC_RecordChild1, // #1 = $v1
28488/* 57340*/ OPC_MoveParent,
28489/* 57341*/ OPC_MoveChild1,
28490/* 57342*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28491/* 57345*/ OPC_Scope, 23, /*->57370*/ // 4 children in Scope
28492/* 57347*/ OPC_MoveChild0,
28493/* 57348*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28494/* 57351*/ OPC_MoveChild0,
28495/* 57352*/ OPC_CheckImmAllOnesV,
28496/* 57353*/ OPC_MoveParent,
28497/* 57354*/ OPC_CheckChild1Same, 0,
28498/* 57356*/ OPC_MoveParent,
28499/* 57357*/ OPC_RecordChild1, // #2 = $v2
28500/* 57358*/ OPC_MoveParent,
28501/* 57359*/ OPC_CheckType, MVT::v4i32,
28502/* 57361*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28503 MVT::v4i32, 3/*#Ops*/, 1, 2, 0,
28504 // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$c), V128:{ *:[v4i32] }:$v2)) - Complexity = 16
28505 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
28506/* 57370*/ /*Scope*/ 45, /*->57416*/
28507/* 57371*/ OPC_RecordChild0, // #2 = $v2
28508/* 57372*/ OPC_MoveChild1,
28509/* 57373*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28510/* 57376*/ OPC_Scope, 18, /*->57396*/ // 2 children in Scope
28511/* 57378*/ OPC_CheckChild0Same, 0,
28512/* 57380*/ OPC_MoveChild1,
28513/* 57381*/ OPC_CheckImmAllOnesV,
28514/* 57382*/ OPC_MoveParent,
28515/* 57383*/ OPC_MoveParent,
28516/* 57384*/ OPC_MoveParent,
28517/* 57385*/ OPC_CheckType, MVT::v4i32,
28518/* 57387*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28519 MVT::v4i32, 3/*#Ops*/, 1, 2, 0,
28520 // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, immAllOnesV:{ *:[v4i32] }))) - Complexity = 16
28521 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
28522/* 57396*/ /*Scope*/ 18, /*->57415*/
28523/* 57397*/ OPC_MoveChild0,
28524/* 57398*/ OPC_CheckImmAllOnesV,
28525/* 57399*/ OPC_MoveParent,
28526/* 57400*/ OPC_CheckChild1Same, 0,
28527/* 57402*/ OPC_MoveParent,
28528/* 57403*/ OPC_MoveParent,
28529/* 57404*/ OPC_CheckType, MVT::v4i32,
28530/* 57406*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28531 MVT::v4i32, 3/*#Ops*/, 1, 2, 0,
28532 // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$c))) - Complexity = 16
28533 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
28534/* 57415*/ 0, /*End of Scope*/
28535/* 57416*/ /*Scope*/ 46, /*->57463*/
28536/* 57417*/ OPC_MoveChild0,
28537/* 57418*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28538/* 57421*/ OPC_Scope, 19, /*->57442*/ // 2 children in Scope
28539/* 57423*/ OPC_CheckChild0Same, 1,
28540/* 57425*/ OPC_MoveChild1,
28541/* 57426*/ OPC_CheckImmAllOnesV,
28542/* 57427*/ OPC_MoveParent,
28543/* 57428*/ OPC_MoveParent,
28544/* 57429*/ OPC_RecordChild1, // #2 = $v2
28545/* 57430*/ OPC_MoveParent,
28546/* 57431*/ OPC_CheckType, MVT::v4i32,
28547/* 57433*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28548 MVT::v4i32, 3/*#Ops*/, 0, 2, 1,
28549 // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, immAllOnesV:{ *:[v4i32] }), V128:{ *:[v4i32] }:$v2)) - Complexity = 16
28550 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
28551/* 57442*/ /*Scope*/ 19, /*->57462*/
28552/* 57443*/ OPC_MoveChild0,
28553/* 57444*/ OPC_CheckImmAllOnesV,
28554/* 57445*/ OPC_MoveParent,
28555/* 57446*/ OPC_CheckChild1Same, 1,
28556/* 57448*/ OPC_MoveParent,
28557/* 57449*/ OPC_RecordChild1, // #2 = $v2
28558/* 57450*/ OPC_MoveParent,
28559/* 57451*/ OPC_CheckType, MVT::v4i32,
28560/* 57453*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28561 MVT::v4i32, 3/*#Ops*/, 0, 2, 1,
28562 // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$c), V128:{ *:[v4i32] }:$v2)) - Complexity = 16
28563 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
28564/* 57462*/ 0, /*End of Scope*/
28565/* 57463*/ /*Scope*/ 45, /*->57509*/
28566/* 57464*/ OPC_RecordChild0, // #2 = $v2
28567/* 57465*/ OPC_MoveChild1,
28568/* 57466*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28569/* 57469*/ OPC_Scope, 18, /*->57489*/ // 2 children in Scope
28570/* 57471*/ OPC_CheckChild0Same, 1,
28571/* 57473*/ OPC_MoveChild1,
28572/* 57474*/ OPC_CheckImmAllOnesV,
28573/* 57475*/ OPC_MoveParent,
28574/* 57476*/ OPC_MoveParent,
28575/* 57477*/ OPC_MoveParent,
28576/* 57478*/ OPC_CheckType, MVT::v4i32,
28577/* 57480*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28578 MVT::v4i32, 3/*#Ops*/, 0, 2, 1,
28579 // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, immAllOnesV:{ *:[v4i32] }))) - Complexity = 16
28580 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
28581/* 57489*/ /*Scope*/ 18, /*->57508*/
28582/* 57490*/ OPC_MoveChild0,
28583/* 57491*/ OPC_CheckImmAllOnesV,
28584/* 57492*/ OPC_MoveParent,
28585/* 57493*/ OPC_CheckChild1Same, 1,
28586/* 57495*/ OPC_MoveParent,
28587/* 57496*/ OPC_MoveParent,
28588/* 57497*/ OPC_CheckType, MVT::v4i32,
28589/* 57499*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28590 MVT::v4i32, 3/*#Ops*/, 0, 2, 1,
28591 // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$c))) - Complexity = 16
28592 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
28593/* 57508*/ 0, /*End of Scope*/
28594/* 57509*/ 0, /*End of Scope*/
28595/* 57510*/ 0, /*End of Scope*/
28596/* 57511*/ /*Scope*/ 98, /*->57610*/
28597/* 57512*/ OPC_MoveChild0,
28598/* 57513*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28599/* 57516*/ OPC_Scope, 45, /*->57563*/ // 2 children in Scope
28600/* 57518*/ OPC_RecordChild0, // #0 = $c
28601/* 57519*/ OPC_MoveChild1,
28602/* 57520*/ OPC_CheckImmAllOnesV,
28603/* 57521*/ OPC_MoveParent,
28604/* 57522*/ OPC_MoveParent,
28605/* 57523*/ OPC_RecordChild1, // #1 = $v2
28606/* 57524*/ OPC_MoveParent,
28607/* 57525*/ OPC_MoveChild1,
28608/* 57526*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28609/* 57529*/ OPC_Scope, 15, /*->57546*/ // 2 children in Scope
28610/* 57531*/ OPC_CheckChild0Same, 0,
28611/* 57533*/ OPC_RecordChild1, // #2 = $v1
28612/* 57534*/ OPC_MoveParent,
28613/* 57535*/ OPC_CheckType, MVT::v4i32,
28614/* 57537*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28615 MVT::v4i32, 3/*#Ops*/, 2, 1, 0,
28616 // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, immAllOnesV:{ *:[v4i32] }), V128:{ *:[v4i32] }:$v2), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1)) - Complexity = 16
28617 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
28618/* 57546*/ /*Scope*/ 15, /*->57562*/
28619/* 57547*/ OPC_RecordChild0, // #2 = $v1
28620/* 57548*/ OPC_CheckChild1Same, 0,
28621/* 57550*/ OPC_MoveParent,
28622/* 57551*/ OPC_CheckType, MVT::v4i32,
28623/* 57553*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28624 MVT::v4i32, 3/*#Ops*/, 2, 1, 0,
28625 // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, immAllOnesV:{ *:[v4i32] }), V128:{ *:[v4i32] }:$v2), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c)) - Complexity = 16
28626 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
28627/* 57562*/ 0, /*End of Scope*/
28628/* 57563*/ /*Scope*/ 45, /*->57609*/
28629/* 57564*/ OPC_MoveChild0,
28630/* 57565*/ OPC_CheckImmAllOnesV,
28631/* 57566*/ OPC_MoveParent,
28632/* 57567*/ OPC_RecordChild1, // #0 = $c
28633/* 57568*/ OPC_MoveParent,
28634/* 57569*/ OPC_RecordChild1, // #1 = $v2
28635/* 57570*/ OPC_MoveParent,
28636/* 57571*/ OPC_MoveChild1,
28637/* 57572*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28638/* 57575*/ OPC_Scope, 15, /*->57592*/ // 2 children in Scope
28639/* 57577*/ OPC_CheckChild0Same, 0,
28640/* 57579*/ OPC_RecordChild1, // #2 = $v1
28641/* 57580*/ OPC_MoveParent,
28642/* 57581*/ OPC_CheckType, MVT::v4i32,
28643/* 57583*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28644 MVT::v4i32, 3/*#Ops*/, 2, 1, 0,
28645 // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$c), V128:{ *:[v4i32] }:$v2), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1)) - Complexity = 16
28646 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
28647/* 57592*/ /*Scope*/ 15, /*->57608*/
28648/* 57593*/ OPC_RecordChild0, // #2 = $v1
28649/* 57594*/ OPC_CheckChild1Same, 0,
28650/* 57596*/ OPC_MoveParent,
28651/* 57597*/ OPC_CheckType, MVT::v4i32,
28652/* 57599*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28653 MVT::v4i32, 3/*#Ops*/, 2, 1, 0,
28654 // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$c), V128:{ *:[v4i32] }:$v2), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c)) - Complexity = 16
28655 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
28656/* 57608*/ 0, /*End of Scope*/
28657/* 57609*/ 0, /*End of Scope*/
28658/* 57610*/ /*Scope*/ 17|128,2/*273*/, /*->57885*/
28659/* 57612*/ OPC_RecordChild0, // #0 = $v2
28660/* 57613*/ OPC_Scope, 96, /*->57711*/ // 2 children in Scope
28661/* 57615*/ OPC_MoveChild1,
28662/* 57616*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28663/* 57619*/ OPC_Scope, 44, /*->57665*/ // 2 children in Scope
28664/* 57621*/ OPC_RecordChild0, // #1 = $c
28665/* 57622*/ OPC_MoveChild1,
28666/* 57623*/ OPC_CheckImmAllOnesV,
28667/* 57624*/ OPC_MoveParent,
28668/* 57625*/ OPC_MoveParent,
28669/* 57626*/ OPC_MoveParent,
28670/* 57627*/ OPC_MoveChild1,
28671/* 57628*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28672/* 57631*/ OPC_Scope, 15, /*->57648*/ // 2 children in Scope
28673/* 57633*/ OPC_CheckChild0Same, 1,
28674/* 57635*/ OPC_RecordChild1, // #2 = $v1
28675/* 57636*/ OPC_MoveParent,
28676/* 57637*/ OPC_CheckType, MVT::v4i32,
28677/* 57639*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28678 MVT::v4i32, 3/*#Ops*/, 2, 0, 1,
28679 // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, immAllOnesV:{ *:[v4i32] })), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1)) - Complexity = 16
28680 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
28681/* 57648*/ /*Scope*/ 15, /*->57664*/
28682/* 57649*/ OPC_RecordChild0, // #2 = $v1
28683/* 57650*/ OPC_CheckChild1Same, 1,
28684/* 57652*/ OPC_MoveParent,
28685/* 57653*/ OPC_CheckType, MVT::v4i32,
28686/* 57655*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28687 MVT::v4i32, 3/*#Ops*/, 2, 0, 1,
28688 // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, immAllOnesV:{ *:[v4i32] })), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c)) - Complexity = 16
28689 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
28690/* 57664*/ 0, /*End of Scope*/
28691/* 57665*/ /*Scope*/ 44, /*->57710*/
28692/* 57666*/ OPC_MoveChild0,
28693/* 57667*/ OPC_CheckImmAllOnesV,
28694/* 57668*/ OPC_MoveParent,
28695/* 57669*/ OPC_RecordChild1, // #1 = $c
28696/* 57670*/ OPC_MoveParent,
28697/* 57671*/ OPC_MoveParent,
28698/* 57672*/ OPC_MoveChild1,
28699/* 57673*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28700/* 57676*/ OPC_Scope, 15, /*->57693*/ // 2 children in Scope
28701/* 57678*/ OPC_CheckChild0Same, 1,
28702/* 57680*/ OPC_RecordChild1, // #2 = $v1
28703/* 57681*/ OPC_MoveParent,
28704/* 57682*/ OPC_CheckType, MVT::v4i32,
28705/* 57684*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28706 MVT::v4i32, 3/*#Ops*/, 2, 0, 1,
28707 // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$c)), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1)) - Complexity = 16
28708 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
28709/* 57693*/ /*Scope*/ 15, /*->57709*/
28710/* 57694*/ OPC_RecordChild0, // #2 = $v1
28711/* 57695*/ OPC_CheckChild1Same, 1,
28712/* 57697*/ OPC_MoveParent,
28713/* 57698*/ OPC_CheckType, MVT::v4i32,
28714/* 57700*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28715 MVT::v4i32, 3/*#Ops*/, 2, 0, 1,
28716 // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$c)), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c)) - Complexity = 16
28717 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
28718/* 57709*/ 0, /*End of Scope*/
28719/* 57710*/ 0, /*End of Scope*/
28720/* 57711*/ /*Scope*/ 43|128,1/*171*/, /*->57884*/
28721/* 57713*/ OPC_RecordChild1, // #1 = $v1
28722/* 57714*/ OPC_MoveParent,
28723/* 57715*/ OPC_MoveChild1,
28724/* 57716*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28725/* 57719*/ OPC_Scope, 23, /*->57744*/ // 4 children in Scope
28726/* 57721*/ OPC_MoveChild0,
28727/* 57722*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28728/* 57725*/ OPC_MoveChild0,
28729/* 57726*/ OPC_CheckImmAllOnesV,
28730/* 57727*/ OPC_MoveParent,
28731/* 57728*/ OPC_CheckChild1Same, 0,
28732/* 57730*/ OPC_MoveParent,
28733/* 57731*/ OPC_RecordChild1, // #2 = $v2
28734/* 57732*/ OPC_MoveParent,
28735/* 57733*/ OPC_CheckType, MVT::v2i64,
28736/* 57735*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28737 MVT::v2i64, 3/*#Ops*/, 1, 2, 0,
28738 // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$c), V128:{ *:[v2i64] }:$v2)) - Complexity = 16
28739 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
28740/* 57744*/ /*Scope*/ 45, /*->57790*/
28741/* 57745*/ OPC_RecordChild0, // #2 = $v2
28742/* 57746*/ OPC_MoveChild1,
28743/* 57747*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28744/* 57750*/ OPC_Scope, 18, /*->57770*/ // 2 children in Scope
28745/* 57752*/ OPC_CheckChild0Same, 0,
28746/* 57754*/ OPC_MoveChild1,
28747/* 57755*/ OPC_CheckImmAllOnesV,
28748/* 57756*/ OPC_MoveParent,
28749/* 57757*/ OPC_MoveParent,
28750/* 57758*/ OPC_MoveParent,
28751/* 57759*/ OPC_CheckType, MVT::v2i64,
28752/* 57761*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28753 MVT::v2i64, 3/*#Ops*/, 1, 2, 0,
28754 // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, immAllOnesV:{ *:[v2i64] }))) - Complexity = 16
28755 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
28756/* 57770*/ /*Scope*/ 18, /*->57789*/
28757/* 57771*/ OPC_MoveChild0,
28758/* 57772*/ OPC_CheckImmAllOnesV,
28759/* 57773*/ OPC_MoveParent,
28760/* 57774*/ OPC_CheckChild1Same, 0,
28761/* 57776*/ OPC_MoveParent,
28762/* 57777*/ OPC_MoveParent,
28763/* 57778*/ OPC_CheckType, MVT::v2i64,
28764/* 57780*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28765 MVT::v2i64, 3/*#Ops*/, 1, 2, 0,
28766 // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$c))) - Complexity = 16
28767 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
28768/* 57789*/ 0, /*End of Scope*/
28769/* 57790*/ /*Scope*/ 46, /*->57837*/
28770/* 57791*/ OPC_MoveChild0,
28771/* 57792*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28772/* 57795*/ OPC_Scope, 19, /*->57816*/ // 2 children in Scope
28773/* 57797*/ OPC_CheckChild0Same, 1,
28774/* 57799*/ OPC_MoveChild1,
28775/* 57800*/ OPC_CheckImmAllOnesV,
28776/* 57801*/ OPC_MoveParent,
28777/* 57802*/ OPC_MoveParent,
28778/* 57803*/ OPC_RecordChild1, // #2 = $v2
28779/* 57804*/ OPC_MoveParent,
28780/* 57805*/ OPC_CheckType, MVT::v2i64,
28781/* 57807*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28782 MVT::v2i64, 3/*#Ops*/, 0, 2, 1,
28783 // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, immAllOnesV:{ *:[v2i64] }), V128:{ *:[v2i64] }:$v2)) - Complexity = 16
28784 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
28785/* 57816*/ /*Scope*/ 19, /*->57836*/
28786/* 57817*/ OPC_MoveChild0,
28787/* 57818*/ OPC_CheckImmAllOnesV,
28788/* 57819*/ OPC_MoveParent,
28789/* 57820*/ OPC_CheckChild1Same, 1,
28790/* 57822*/ OPC_MoveParent,
28791/* 57823*/ OPC_RecordChild1, // #2 = $v2
28792/* 57824*/ OPC_MoveParent,
28793/* 57825*/ OPC_CheckType, MVT::v2i64,
28794/* 57827*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28795 MVT::v2i64, 3/*#Ops*/, 0, 2, 1,
28796 // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$c), V128:{ *:[v2i64] }:$v2)) - Complexity = 16
28797 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
28798/* 57836*/ 0, /*End of Scope*/
28799/* 57837*/ /*Scope*/ 45, /*->57883*/
28800/* 57838*/ OPC_RecordChild0, // #2 = $v2
28801/* 57839*/ OPC_MoveChild1,
28802/* 57840*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28803/* 57843*/ OPC_Scope, 18, /*->57863*/ // 2 children in Scope
28804/* 57845*/ OPC_CheckChild0Same, 1,
28805/* 57847*/ OPC_MoveChild1,
28806/* 57848*/ OPC_CheckImmAllOnesV,
28807/* 57849*/ OPC_MoveParent,
28808/* 57850*/ OPC_MoveParent,
28809/* 57851*/ OPC_MoveParent,
28810/* 57852*/ OPC_CheckType, MVT::v2i64,
28811/* 57854*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28812 MVT::v2i64, 3/*#Ops*/, 0, 2, 1,
28813 // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, immAllOnesV:{ *:[v2i64] }))) - Complexity = 16
28814 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
28815/* 57863*/ /*Scope*/ 18, /*->57882*/
28816/* 57864*/ OPC_MoveChild0,
28817/* 57865*/ OPC_CheckImmAllOnesV,
28818/* 57866*/ OPC_MoveParent,
28819/* 57867*/ OPC_CheckChild1Same, 1,
28820/* 57869*/ OPC_MoveParent,
28821/* 57870*/ OPC_MoveParent,
28822/* 57871*/ OPC_CheckType, MVT::v2i64,
28823/* 57873*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28824 MVT::v2i64, 3/*#Ops*/, 0, 2, 1,
28825 // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$c))) - Complexity = 16
28826 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
28827/* 57882*/ 0, /*End of Scope*/
28828/* 57883*/ 0, /*End of Scope*/
28829/* 57884*/ 0, /*End of Scope*/
28830/* 57885*/ /*Scope*/ 98, /*->57984*/
28831/* 57886*/ OPC_MoveChild0,
28832/* 57887*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28833/* 57890*/ OPC_Scope, 45, /*->57937*/ // 2 children in Scope
28834/* 57892*/ OPC_RecordChild0, // #0 = $c
28835/* 57893*/ OPC_MoveChild1,
28836/* 57894*/ OPC_CheckImmAllOnesV,
28837/* 57895*/ OPC_MoveParent,
28838/* 57896*/ OPC_MoveParent,
28839/* 57897*/ OPC_RecordChild1, // #1 = $v2
28840/* 57898*/ OPC_MoveParent,
28841/* 57899*/ OPC_MoveChild1,
28842/* 57900*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28843/* 57903*/ OPC_Scope, 15, /*->57920*/ // 2 children in Scope
28844/* 57905*/ OPC_CheckChild0Same, 0,
28845/* 57907*/ OPC_RecordChild1, // #2 = $v1
28846/* 57908*/ OPC_MoveParent,
28847/* 57909*/ OPC_CheckType, MVT::v2i64,
28848/* 57911*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28849 MVT::v2i64, 3/*#Ops*/, 2, 1, 0,
28850 // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, immAllOnesV:{ *:[v2i64] }), V128:{ *:[v2i64] }:$v2), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1)) - Complexity = 16
28851 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
28852/* 57920*/ /*Scope*/ 15, /*->57936*/
28853/* 57921*/ OPC_RecordChild0, // #2 = $v1
28854/* 57922*/ OPC_CheckChild1Same, 0,
28855/* 57924*/ OPC_MoveParent,
28856/* 57925*/ OPC_CheckType, MVT::v2i64,
28857/* 57927*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28858 MVT::v2i64, 3/*#Ops*/, 2, 1, 0,
28859 // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, immAllOnesV:{ *:[v2i64] }), V128:{ *:[v2i64] }:$v2), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c)) - Complexity = 16
28860 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
28861/* 57936*/ 0, /*End of Scope*/
28862/* 57937*/ /*Scope*/ 45, /*->57983*/
28863/* 57938*/ OPC_MoveChild0,
28864/* 57939*/ OPC_CheckImmAllOnesV,
28865/* 57940*/ OPC_MoveParent,
28866/* 57941*/ OPC_RecordChild1, // #0 = $c
28867/* 57942*/ OPC_MoveParent,
28868/* 57943*/ OPC_RecordChild1, // #1 = $v2
28869/* 57944*/ OPC_MoveParent,
28870/* 57945*/ OPC_MoveChild1,
28871/* 57946*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28872/* 57949*/ OPC_Scope, 15, /*->57966*/ // 2 children in Scope
28873/* 57951*/ OPC_CheckChild0Same, 0,
28874/* 57953*/ OPC_RecordChild1, // #2 = $v1
28875/* 57954*/ OPC_MoveParent,
28876/* 57955*/ OPC_CheckType, MVT::v2i64,
28877/* 57957*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28878 MVT::v2i64, 3/*#Ops*/, 2, 1, 0,
28879 // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$c), V128:{ *:[v2i64] }:$v2), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1)) - Complexity = 16
28880 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
28881/* 57966*/ /*Scope*/ 15, /*->57982*/
28882/* 57967*/ OPC_RecordChild0, // #2 = $v1
28883/* 57968*/ OPC_CheckChild1Same, 0,
28884/* 57970*/ OPC_MoveParent,
28885/* 57971*/ OPC_CheckType, MVT::v2i64,
28886/* 57973*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28887 MVT::v2i64, 3/*#Ops*/, 2, 1, 0,
28888 // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$c), V128:{ *:[v2i64] }:$v2), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c)) - Complexity = 16
28889 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
28890/* 57982*/ 0, /*End of Scope*/
28891/* 57983*/ 0, /*End of Scope*/
28892/* 57984*/ /*Scope*/ 97, /*->58082*/
28893/* 57985*/ OPC_RecordChild0, // #0 = $v2
28894/* 57986*/ OPC_MoveChild1,
28895/* 57987*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28896/* 57990*/ OPC_Scope, 44, /*->58036*/ // 2 children in Scope
28897/* 57992*/ OPC_RecordChild0, // #1 = $c
28898/* 57993*/ OPC_MoveChild1,
28899/* 57994*/ OPC_CheckImmAllOnesV,
28900/* 57995*/ OPC_MoveParent,
28901/* 57996*/ OPC_MoveParent,
28902/* 57997*/ OPC_MoveParent,
28903/* 57998*/ OPC_MoveChild1,
28904/* 57999*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28905/* 58002*/ OPC_Scope, 15, /*->58019*/ // 2 children in Scope
28906/* 58004*/ OPC_CheckChild0Same, 1,
28907/* 58006*/ OPC_RecordChild1, // #2 = $v1
28908/* 58007*/ OPC_MoveParent,
28909/* 58008*/ OPC_CheckType, MVT::v2i64,
28910/* 58010*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28911 MVT::v2i64, 3/*#Ops*/, 2, 0, 1,
28912 // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, immAllOnesV:{ *:[v2i64] })), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1)) - Complexity = 16
28913 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
28914/* 58019*/ /*Scope*/ 15, /*->58035*/
28915/* 58020*/ OPC_RecordChild0, // #2 = $v1
28916/* 58021*/ OPC_CheckChild1Same, 1,
28917/* 58023*/ OPC_MoveParent,
28918/* 58024*/ OPC_CheckType, MVT::v2i64,
28919/* 58026*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28920 MVT::v2i64, 3/*#Ops*/, 2, 0, 1,
28921 // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, immAllOnesV:{ *:[v2i64] })), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c)) - Complexity = 16
28922 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
28923/* 58035*/ 0, /*End of Scope*/
28924/* 58036*/ /*Scope*/ 44, /*->58081*/
28925/* 58037*/ OPC_MoveChild0,
28926/* 58038*/ OPC_CheckImmAllOnesV,
28927/* 58039*/ OPC_MoveParent,
28928/* 58040*/ OPC_RecordChild1, // #1 = $c
28929/* 58041*/ OPC_MoveParent,
28930/* 58042*/ OPC_MoveParent,
28931/* 58043*/ OPC_MoveChild1,
28932/* 58044*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28933/* 58047*/ OPC_Scope, 15, /*->58064*/ // 2 children in Scope
28934/* 58049*/ OPC_CheckChild0Same, 1,
28935/* 58051*/ OPC_RecordChild1, // #2 = $v1
28936/* 58052*/ OPC_MoveParent,
28937/* 58053*/ OPC_CheckType, MVT::v2i64,
28938/* 58055*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28939 MVT::v2i64, 3/*#Ops*/, 2, 0, 1,
28940 // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$c)), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1)) - Complexity = 16
28941 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
28942/* 58064*/ /*Scope*/ 15, /*->58080*/
28943/* 58065*/ OPC_RecordChild0, // #2 = $v1
28944/* 58066*/ OPC_CheckChild1Same, 1,
28945/* 58068*/ OPC_MoveParent,
28946/* 58069*/ OPC_CheckType, MVT::v2i64,
28947/* 58071*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
28948 MVT::v2i64, 3/*#Ops*/, 2, 0, 1,
28949 // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$c)), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c)) - Complexity = 16
28950 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
28951/* 58080*/ 0, /*End of Scope*/
28952/* 58081*/ 0, /*End of Scope*/
28953/* 58082*/ 0, /*End of Scope*/
28954/* 58083*/ /*Scope*/ 44, /*->58128*/
28955/* 58084*/ OPC_RecordChild0, // #0 = $lhs
28956/* 58085*/ OPC_RecordChild1, // #1 = $rhs
28957/* 58086*/ OPC_SwitchType /*4 cases */, 8, MVT::v16i8,// ->58097
28958/* 58089*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR), 0,
28959 MVT::v16i8, 2/*#Ops*/, 0, 1,
28960 // Src: (or:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
28961 // Dst: (OR:{ *:[v16i8] } ?:{ *:[v16i8] }:$lhs, ?:{ *:[v16i8] }:$rhs)
28962/* 58097*/ /*SwitchType*/ 8, MVT::v8i16,// ->58107
28963/* 58099*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR), 0,
28964 MVT::v8i16, 2/*#Ops*/, 0, 1,
28965 // Src: (or:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
28966 // Dst: (OR:{ *:[v8i16] } ?:{ *:[v8i16] }:$lhs, ?:{ *:[v8i16] }:$rhs)
28967/* 58107*/ /*SwitchType*/ 8, MVT::v4i32,// ->58117
28968/* 58109*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR), 0,
28969 MVT::v4i32, 2/*#Ops*/, 0, 1,
28970 // Src: (or:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
28971 // Dst: (OR:{ *:[v4i32] } ?:{ *:[v4i32] }:$lhs, ?:{ *:[v4i32] }:$rhs)
28972/* 58117*/ /*SwitchType*/ 8, MVT::v2i64,// ->58127
28973/* 58119*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR), 0,
28974 MVT::v2i64, 2/*#Ops*/, 0, 1,
28975 // Src: (or:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
28976 // Dst: (OR:{ *:[v2i64] } ?:{ *:[v2i64] }:$lhs, ?:{ *:[v2i64] }:$rhs)
28977/* 58127*/ 0, // EndSwitchType
28978/* 58128*/ 0, /*End of Scope*/
28979/* 58129*/ /*SwitchOpcode*/ 32|128,1/*160*/, TARGET_VAL(ISD::XOR),// ->58293
28980/* 58133*/ OPC_Scope, 69, /*->58204*/ // 3 children in Scope
28981/* 58135*/ OPC_RecordChild0, // #0 = $lhs
28982/* 58136*/ OPC_Scope, 23, /*->58161*/ // 2 children in Scope
28983/* 58138*/ OPC_RecordChild1, // #1 = $rhs
28984/* 58139*/ OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->58150
28985/* 58142*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR_I32), 0,
28986 MVT::i32, 2/*#Ops*/, 0, 1,
28987 // Src: (xor:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
28988 // Dst: (XOR_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
28989/* 58150*/ /*SwitchType*/ 8, MVT::i64,// ->58160
28990/* 58152*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR_I64), 0,
28991 MVT::i64, 2/*#Ops*/, 0, 1,
28992 // Src: (xor:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
28993 // Dst: (XOR_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
28994/* 58160*/ 0, // EndSwitchType
28995/* 58161*/ /*Scope*/ 41, /*->58203*/
28996/* 58162*/ OPC_MoveChild1,
28997/* 58163*/ OPC_CheckImmAllOnesV,
28998/* 58164*/ OPC_MoveParent,
28999/* 58165*/ OPC_SwitchType /*4 cases */, 7, MVT::v16i8,// ->58175
29000/* 58168*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT), 0,
29001 MVT::v16i8, 1/*#Ops*/, 0,
29002 // Src: (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$v, immAllOnesV:{ *:[v16i8] }) - Complexity = 7
29003 // Dst: (NOT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v)
29004/* 58175*/ /*SwitchType*/ 7, MVT::v8i16,// ->58184
29005/* 58177*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT), 0,
29006 MVT::v8i16, 1/*#Ops*/, 0,
29007 // Src: (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$v, immAllOnesV:{ *:[v8i16] }) - Complexity = 7
29008 // Dst: (NOT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v)
29009/* 58184*/ /*SwitchType*/ 7, MVT::v4i32,// ->58193
29010/* 58186*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT), 0,
29011 MVT::v4i32, 1/*#Ops*/, 0,
29012 // Src: (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$v, immAllOnesV:{ *:[v4i32] }) - Complexity = 7
29013 // Dst: (NOT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v)
29014/* 58193*/ /*SwitchType*/ 7, MVT::v2i64,// ->58202
29015/* 58195*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT), 0,
29016 MVT::v2i64, 1/*#Ops*/, 0,
29017 // Src: (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$v, immAllOnesV:{ *:[v2i64] }) - Complexity = 7
29018 // Dst: (NOT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v)
29019/* 58202*/ 0, // EndSwitchType
29020/* 58203*/ 0, /*End of Scope*/
29021/* 58204*/ /*Scope*/ 42, /*->58247*/
29022/* 58205*/ OPC_MoveChild0,
29023/* 58206*/ OPC_CheckImmAllOnesV,
29024/* 58207*/ OPC_MoveParent,
29025/* 58208*/ OPC_RecordChild1, // #0 = $v
29026/* 58209*/ OPC_SwitchType /*4 cases */, 7, MVT::v16i8,// ->58219
29027/* 58212*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT), 0,
29028 MVT::v16i8, 1/*#Ops*/, 0,
29029 // Src: (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$v) - Complexity = 7
29030 // Dst: (NOT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v)
29031/* 58219*/ /*SwitchType*/ 7, MVT::v8i16,// ->58228
29032/* 58221*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT), 0,
29033 MVT::v8i16, 1/*#Ops*/, 0,
29034 // Src: (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$v) - Complexity = 7
29035 // Dst: (NOT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v)
29036/* 58228*/ /*SwitchType*/ 7, MVT::v4i32,// ->58237
29037/* 58230*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT), 0,
29038 MVT::v4i32, 1/*#Ops*/, 0,
29039 // Src: (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$v) - Complexity = 7
29040 // Dst: (NOT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v)
29041/* 58237*/ /*SwitchType*/ 7, MVT::v2i64,// ->58246
29042/* 58239*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT), 0,
29043 MVT::v2i64, 1/*#Ops*/, 0,
29044 // Src: (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$v) - Complexity = 7
29045 // Dst: (NOT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v)
29046/* 58246*/ 0, // EndSwitchType
29047/* 58247*/ /*Scope*/ 44, /*->58292*/
29048/* 58248*/ OPC_RecordChild0, // #0 = $lhs
29049/* 58249*/ OPC_RecordChild1, // #1 = $rhs
29050/* 58250*/ OPC_SwitchType /*4 cases */, 8, MVT::v16i8,// ->58261
29051/* 58253*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR), 0,
29052 MVT::v16i8, 2/*#Ops*/, 0, 1,
29053 // Src: (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
29054 // Dst: (XOR:{ *:[v16i8] } ?:{ *:[v16i8] }:$lhs, ?:{ *:[v16i8] }:$rhs)
29055/* 58261*/ /*SwitchType*/ 8, MVT::v8i16,// ->58271
29056/* 58263*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR), 0,
29057 MVT::v8i16, 2/*#Ops*/, 0, 1,
29058 // Src: (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
29059 // Dst: (XOR:{ *:[v8i16] } ?:{ *:[v8i16] }:$lhs, ?:{ *:[v8i16] }:$rhs)
29060/* 58271*/ /*SwitchType*/ 8, MVT::v4i32,// ->58281
29061/* 58273*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR), 0,
29062 MVT::v4i32, 2/*#Ops*/, 0, 1,
29063 // Src: (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
29064 // Dst: (XOR:{ *:[v4i32] } ?:{ *:[v4i32] }:$lhs, ?:{ *:[v4i32] }:$rhs)
29065/* 58281*/ /*SwitchType*/ 8, MVT::v2i64,// ->58291
29066/* 58283*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR), 0,
29067 MVT::v2i64, 2/*#Ops*/, 0, 1,
29068 // Src: (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
29069 // Dst: (XOR:{ *:[v2i64] } ?:{ *:[v2i64] }:$lhs, ?:{ *:[v2i64] }:$rhs)
29070/* 58291*/ 0, // EndSwitchType
29071/* 58292*/ 0, /*End of Scope*/
29072/* 58293*/ /*SwitchOpcode*/ 28, TARGET_VAL(ISD::SHL),// ->58324
29073/* 58296*/ OPC_RecordChild0, // #0 = $lhs
29074/* 58297*/ OPC_RecordChild1, // #1 = $rhs
29075/* 58298*/ OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->58311
29076/* 58301*/ OPC_CheckChild1Type, MVT::i32,
29077/* 58303*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_I32), 0,
29078 MVT::i32, 2/*#Ops*/, 0, 1,
29079 // Src: (shl:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
29080 // Dst: (SHL_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
29081/* 58311*/ /*SwitchType*/ 10, MVT::i64,// ->58323
29082/* 58313*/ OPC_CheckChild1Type, MVT::i64,
29083/* 58315*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_I64), 0,
29084 MVT::i64, 2/*#Ops*/, 0, 1,
29085 // Src: (shl:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
29086 // Dst: (SHL_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
29087/* 58323*/ 0, // EndSwitchType
29088/* 58324*/ /*SwitchOpcode*/ 28, TARGET_VAL(ISD::SRA),// ->58355
29089/* 58327*/ OPC_RecordChild0, // #0 = $lhs
29090/* 58328*/ OPC_RecordChild1, // #1 = $rhs
29091/* 58329*/ OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->58342
29092/* 58332*/ OPC_CheckChild1Type, MVT::i32,
29093/* 58334*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_I32), 0,
29094 MVT::i32, 2/*#Ops*/, 0, 1,
29095 // Src: (sra:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
29096 // Dst: (SHR_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
29097/* 58342*/ /*SwitchType*/ 10, MVT::i64,// ->58354
29098/* 58344*/ OPC_CheckChild1Type, MVT::i64,
29099/* 58346*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_I64), 0,
29100 MVT::i64, 2/*#Ops*/, 0, 1,
29101 // Src: (sra:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
29102 // Dst: (SHR_S_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
29103/* 58354*/ 0, // EndSwitchType
29104/* 58355*/ /*SwitchOpcode*/ 28, TARGET_VAL(ISD::SRL),// ->58386
29105/* 58358*/ OPC_RecordChild0, // #0 = $lhs
29106/* 58359*/ OPC_RecordChild1, // #1 = $rhs
29107/* 58360*/ OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->58373
29108/* 58363*/ OPC_CheckChild1Type, MVT::i32,
29109/* 58365*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_I32), 0,
29110 MVT::i32, 2/*#Ops*/, 0, 1,
29111 // Src: (srl:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
29112 // Dst: (SHR_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
29113/* 58373*/ /*SwitchType*/ 10, MVT::i64,// ->58385
29114/* 58375*/ OPC_CheckChild1Type, MVT::i64,
29115/* 58377*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_I64), 0,
29116 MVT::i64, 2/*#Ops*/, 0, 1,
29117 // Src: (srl:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
29118 // Dst: (SHR_U_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
29119/* 58385*/ 0, // EndSwitchType
29120/* 58386*/ /*SwitchOpcode*/ 25, TARGET_VAL(ISD::CTLZ),// ->58414
29121/* 58389*/ OPC_RecordChild0, // #0 = $src
29122/* 58390*/ OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->58402
29123/* 58393*/ OPC_CheckChild0Type, MVT::i32,
29124/* 58395*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CLZ_I32), 0,
29125 MVT::i32, 1/*#Ops*/, 0,
29126 // Src: (ctlz:{ *:[i32] } I32:{ *:[i32] }:$src) - Complexity = 3
29127 // Dst: (CLZ_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
29128/* 58402*/ /*SwitchType*/ 9, MVT::i64,// ->58413
29129/* 58404*/ OPC_CheckChild0Type, MVT::i64,
29130/* 58406*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CLZ_I64), 0,
29131 MVT::i64, 1/*#Ops*/, 0,
29132 // Src: (ctlz:{ *:[i64] } I64:{ *:[i64] }:$src) - Complexity = 3
29133 // Dst: (CLZ_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
29134/* 58413*/ 0, // EndSwitchType
29135/* 58414*/ /*SwitchOpcode*/ 25, TARGET_VAL(ISD::CTTZ),// ->58442
29136/* 58417*/ OPC_RecordChild0, // #0 = $src
29137/* 58418*/ OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->58430
29138/* 58421*/ OPC_CheckChild0Type, MVT::i32,
29139/* 58423*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CTZ_I32), 0,
29140 MVT::i32, 1/*#Ops*/, 0,
29141 // Src: (cttz:{ *:[i32] } I32:{ *:[i32] }:$src) - Complexity = 3
29142 // Dst: (CTZ_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
29143/* 58430*/ /*SwitchType*/ 9, MVT::i64,// ->58441
29144/* 58432*/ OPC_CheckChild0Type, MVT::i64,
29145/* 58434*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CTZ_I64), 0,
29146 MVT::i64, 1/*#Ops*/, 0,
29147 // Src: (cttz:{ *:[i64] } I64:{ *:[i64] }:$src) - Complexity = 3
29148 // Dst: (CTZ_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
29149/* 58441*/ 0, // EndSwitchType
29150/* 58442*/ /*SwitchOpcode*/ 25, TARGET_VAL(ISD::CTPOP),// ->58470
29151/* 58445*/ OPC_RecordChild0, // #0 = $src
29152/* 58446*/ OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->58458
29153/* 58449*/ OPC_CheckChild0Type, MVT::i32,
29154/* 58451*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::POPCNT_I32), 0,
29155 MVT::i32, 1/*#Ops*/, 0,
29156 // Src: (ctpop:{ *:[i32] } I32:{ *:[i32] }:$src) - Complexity = 3
29157 // Dst: (POPCNT_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
29158/* 58458*/ /*SwitchType*/ 9, MVT::i64,// ->58469
29159/* 58460*/ OPC_CheckChild0Type, MVT::i64,
29160/* 58462*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::POPCNT_I64), 0,
29161 MVT::i64, 1/*#Ops*/, 0,
29162 // Src: (ctpop:{ *:[i64] } I64:{ *:[i64] }:$src) - Complexity = 3
29163 // Dst: (POPCNT_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
29164/* 58469*/ 0, // EndSwitchType
29165/* 58470*/ /*SwitchOpcode*/ 8, TARGET_VAL(ISD::TRUNCATE),// ->58481
29166/* 58473*/ OPC_RecordChild0, // #0 = $src
29167/* 58474*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_WRAP_I64), 0,
29168 MVT::i32, 1/*#Ops*/, 0,
29169 // Src: (trunc:{ *:[i32] } I64:{ *:[i64] }:$src) - Complexity = 3
29170 // Dst: (I32_WRAP_I64:{ *:[i32] } I64:{ *:[i64] }:$src)
29171/* 58481*/ /*SwitchOpcode*/ 8, TARGET_VAL(ISD::SIGN_EXTEND),// ->58492
29172/* 58484*/ OPC_RecordChild0, // #0 = $src
29173/* 58485*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND_S_I32), 0,
29174 MVT::i64, 1/*#Ops*/, 0,
29175 // Src: (sext:{ *:[i64] } I32:{ *:[i32] }:$src) - Complexity = 3
29176 // Dst: (I64_EXTEND_S_I32:{ *:[i64] } I32:{ *:[i32] }:$src)
29177/* 58492*/ /*SwitchOpcode*/ 121, TARGET_VAL(ISD::FP_TO_SINT),// ->58616
29178/* 58495*/ OPC_RecordChild0, // #0 = $src
29179/* 58496*/ OPC_Scope, 52, /*->58550*/ // 3 children in Scope
29180/* 58498*/ OPC_CheckChild0Type, MVT::f32,
29181/* 58500*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->58525
29182/* 58503*/ OPC_Scope, 9, /*->58514*/ // 2 children in Scope
29183/* 58505*/ OPC_CheckPatternPredicate, 15, // (Subtarget->hasNontrappingFPToInt())
29184/* 58507*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F32), 0,
29185 MVT::i32, 1/*#Ops*/, 0,
29186 // Src: (fp_to_sint:{ *:[i32] } F32:{ *:[f32] }:$src) - Complexity = 3
29187 // Dst: (I32_TRUNC_S_SAT_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
29188/* 58514*/ /*Scope*/ 9, /*->58524*/
29189/* 58515*/ OPC_CheckPatternPredicate, 16, // (!Subtarget->hasNontrappingFPToInt())
29190/* 58517*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_SINT_I32_F32), 0,
29191 MVT::i32, 1/*#Ops*/, 0,
29192 // Src: (fp_to_sint:{ *:[i32] } F32:{ *:[f32] }:$src) - Complexity = 3
29193 // Dst: (FP_TO_SINT_I32_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
29194/* 58524*/ 0, /*End of Scope*/
29195/* 58525*/ /*SwitchType*/ 22, MVT::i64,// ->58549
29196/* 58527*/ OPC_Scope, 9, /*->58538*/ // 2 children in Scope
29197/* 58529*/ OPC_CheckPatternPredicate, 15, // (Subtarget->hasNontrappingFPToInt())
29198/* 58531*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F32), 0,
29199 MVT::i64, 1/*#Ops*/, 0,
29200 // Src: (fp_to_sint:{ *:[i64] } F32:{ *:[f32] }:$src) - Complexity = 3
29201 // Dst: (I64_TRUNC_S_SAT_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
29202/* 58538*/ /*Scope*/ 9, /*->58548*/
29203/* 58539*/ OPC_CheckPatternPredicate, 16, // (!Subtarget->hasNontrappingFPToInt())
29204/* 58541*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_SINT_I64_F32), 0,
29205 MVT::i64, 1/*#Ops*/, 0,
29206 // Src: (fp_to_sint:{ *:[i64] } F32:{ *:[f32] }:$src) - Complexity = 3
29207 // Dst: (FP_TO_SINT_I64_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
29208/* 58548*/ 0, /*End of Scope*/
29209/* 58549*/ 0, // EndSwitchType
29210/* 58550*/ /*Scope*/ 52, /*->58603*/
29211/* 58551*/ OPC_CheckChild0Type, MVT::f64,
29212/* 58553*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->58578
29213/* 58556*/ OPC_Scope, 9, /*->58567*/ // 2 children in Scope
29214/* 58558*/ OPC_CheckPatternPredicate, 15, // (Subtarget->hasNontrappingFPToInt())
29215/* 58560*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F64), 0,
29216 MVT::i32, 1/*#Ops*/, 0,
29217 // Src: (fp_to_sint:{ *:[i32] } F64:{ *:[f64] }:$src) - Complexity = 3
29218 // Dst: (I32_TRUNC_S_SAT_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
29219/* 58567*/ /*Scope*/ 9, /*->58577*/
29220/* 58568*/ OPC_CheckPatternPredicate, 16, // (!Subtarget->hasNontrappingFPToInt())
29221/* 58570*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_SINT_I32_F64), 0,
29222 MVT::i32, 1/*#Ops*/, 0,
29223 // Src: (fp_to_sint:{ *:[i32] } F64:{ *:[f64] }:$src) - Complexity = 3
29224 // Dst: (FP_TO_SINT_I32_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
29225/* 58577*/ 0, /*End of Scope*/
29226/* 58578*/ /*SwitchType*/ 22, MVT::i64,// ->58602
29227/* 58580*/ OPC_Scope, 9, /*->58591*/ // 2 children in Scope
29228/* 58582*/ OPC_CheckPatternPredicate, 15, // (Subtarget->hasNontrappingFPToInt())
29229/* 58584*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F64), 0,
29230 MVT::i64, 1/*#Ops*/, 0,
29231 // Src: (fp_to_sint:{ *:[i64] } F64:{ *:[f64] }:$src) - Complexity = 3
29232 // Dst: (I64_TRUNC_S_SAT_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
29233/* 58591*/ /*Scope*/ 9, /*->58601*/
29234/* 58592*/ OPC_CheckPatternPredicate, 16, // (!Subtarget->hasNontrappingFPToInt())
29235/* 58594*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_SINT_I64_F64), 0,
29236 MVT::i64, 1/*#Ops*/, 0,
29237 // Src: (fp_to_sint:{ *:[i64] } F64:{ *:[f64] }:$src) - Complexity = 3
29238 // Dst: (FP_TO_SINT_I64_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
29239/* 58601*/ 0, /*End of Scope*/
29240/* 58602*/ 0, // EndSwitchType
29241/* 58603*/ /*Scope*/ 11, /*->58615*/
29242/* 58604*/ OPC_CheckType, MVT::v4i32,
29243/* 58606*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29244/* 58608*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_sint_I32x4), 0,
29245 MVT::v4i32, 1/*#Ops*/, 0,
29246 // Src: (fp_to_sint:{ *:[v4i32] } V128:{ *:[v4f32] }:$vec) - Complexity = 3
29247 // Dst: (fp_to_sint_I32x4:{ *:[v4i32] } V128:{ *:[v4f32] }:$vec)
29248/* 58615*/ 0, /*End of Scope*/
29249/* 58616*/ /*SwitchOpcode*/ 121, TARGET_VAL(ISD::FP_TO_UINT),// ->58740
29250/* 58619*/ OPC_RecordChild0, // #0 = $src
29251/* 58620*/ OPC_Scope, 52, /*->58674*/ // 3 children in Scope
29252/* 58622*/ OPC_CheckChild0Type, MVT::f32,
29253/* 58624*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->58649
29254/* 58627*/ OPC_Scope, 9, /*->58638*/ // 2 children in Scope
29255/* 58629*/ OPC_CheckPatternPredicate, 15, // (Subtarget->hasNontrappingFPToInt())
29256/* 58631*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F32), 0,
29257 MVT::i32, 1/*#Ops*/, 0,
29258 // Src: (fp_to_uint:{ *:[i32] } F32:{ *:[f32] }:$src) - Complexity = 3
29259 // Dst: (I32_TRUNC_U_SAT_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
29260/* 58638*/ /*Scope*/ 9, /*->58648*/
29261/* 58639*/ OPC_CheckPatternPredicate, 16, // (!Subtarget->hasNontrappingFPToInt())
29262/* 58641*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_UINT_I32_F32), 0,
29263 MVT::i32, 1/*#Ops*/, 0,
29264 // Src: (fp_to_uint:{ *:[i32] } F32:{ *:[f32] }:$src) - Complexity = 3
29265 // Dst: (FP_TO_UINT_I32_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
29266/* 58648*/ 0, /*End of Scope*/
29267/* 58649*/ /*SwitchType*/ 22, MVT::i64,// ->58673
29268/* 58651*/ OPC_Scope, 9, /*->58662*/ // 2 children in Scope
29269/* 58653*/ OPC_CheckPatternPredicate, 15, // (Subtarget->hasNontrappingFPToInt())
29270/* 58655*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F32), 0,
29271 MVT::i64, 1/*#Ops*/, 0,
29272 // Src: (fp_to_uint:{ *:[i64] } F32:{ *:[f32] }:$src) - Complexity = 3
29273 // Dst: (I64_TRUNC_U_SAT_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
29274/* 58662*/ /*Scope*/ 9, /*->58672*/
29275/* 58663*/ OPC_CheckPatternPredicate, 16, // (!Subtarget->hasNontrappingFPToInt())
29276/* 58665*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_UINT_I64_F32), 0,
29277 MVT::i64, 1/*#Ops*/, 0,
29278 // Src: (fp_to_uint:{ *:[i64] } F32:{ *:[f32] }:$src) - Complexity = 3
29279 // Dst: (FP_TO_UINT_I64_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
29280/* 58672*/ 0, /*End of Scope*/
29281/* 58673*/ 0, // EndSwitchType
29282/* 58674*/ /*Scope*/ 52, /*->58727*/
29283/* 58675*/ OPC_CheckChild0Type, MVT::f64,
29284/* 58677*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->58702
29285/* 58680*/ OPC_Scope, 9, /*->58691*/ // 2 children in Scope
29286/* 58682*/ OPC_CheckPatternPredicate, 15, // (Subtarget->hasNontrappingFPToInt())
29287/* 58684*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F64), 0,
29288 MVT::i32, 1/*#Ops*/, 0,
29289 // Src: (fp_to_uint:{ *:[i32] } F64:{ *:[f64] }:$src) - Complexity = 3
29290 // Dst: (I32_TRUNC_U_SAT_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
29291/* 58691*/ /*Scope*/ 9, /*->58701*/
29292/* 58692*/ OPC_CheckPatternPredicate, 16, // (!Subtarget->hasNontrappingFPToInt())
29293/* 58694*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_UINT_I32_F64), 0,
29294 MVT::i32, 1/*#Ops*/, 0,
29295 // Src: (fp_to_uint:{ *:[i32] } F64:{ *:[f64] }:$src) - Complexity = 3
29296 // Dst: (FP_TO_UINT_I32_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
29297/* 58701*/ 0, /*End of Scope*/
29298/* 58702*/ /*SwitchType*/ 22, MVT::i64,// ->58726
29299/* 58704*/ OPC_Scope, 9, /*->58715*/ // 2 children in Scope
29300/* 58706*/ OPC_CheckPatternPredicate, 15, // (Subtarget->hasNontrappingFPToInt())
29301/* 58708*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F64), 0,
29302 MVT::i64, 1/*#Ops*/, 0,
29303 // Src: (fp_to_uint:{ *:[i64] } F64:{ *:[f64] }:$src) - Complexity = 3
29304 // Dst: (I64_TRUNC_U_SAT_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
29305/* 58715*/ /*Scope*/ 9, /*->58725*/
29306/* 58716*/ OPC_CheckPatternPredicate, 16, // (!Subtarget->hasNontrappingFPToInt())
29307/* 58718*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_UINT_I64_F64), 0,
29308 MVT::i64, 1/*#Ops*/, 0,
29309 // Src: (fp_to_uint:{ *:[i64] } F64:{ *:[f64] }:$src) - Complexity = 3
29310 // Dst: (FP_TO_UINT_I64_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
29311/* 58725*/ 0, /*End of Scope*/
29312/* 58726*/ 0, // EndSwitchType
29313/* 58727*/ /*Scope*/ 11, /*->58739*/
29314/* 58728*/ OPC_CheckType, MVT::v4i32,
29315/* 58730*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29316/* 58732*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_uint_I32x4), 0,
29317 MVT::v4i32, 1/*#Ops*/, 0,
29318 // Src: (fp_to_uint:{ *:[v4i32] } V128:{ *:[v4f32] }:$vec) - Complexity = 3
29319 // Dst: (fp_to_uint_I32x4:{ *:[v4i32] } V128:{ *:[v4f32] }:$vec)
29320/* 58739*/ 0, /*End of Scope*/
29321/* 58740*/ /*SwitchOpcode*/ 103|128,1/*231*/, TARGET_VAL(ISD::BITCAST),// ->58975
29322/* 58744*/ OPC_RecordChild0, // #0 = $src
29323/* 58745*/ OPC_Scope, 11, /*->58758*/ // 10 children in Scope
29324/* 58747*/ OPC_CheckChild0Type, MVT::f32,
29325/* 58749*/ OPC_CheckType, MVT::i32,
29326/* 58751*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_REINTERPRET_F32), 0,
29327 MVT::i32, 1/*#Ops*/, 0,
29328 // Src: (bitconvert:{ *:[i32] } F32:{ *:[f32] }:$src) - Complexity = 3
29329 // Dst: (I32_REINTERPRET_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
29330/* 58758*/ /*Scope*/ 11, /*->58770*/
29331/* 58759*/ OPC_CheckChild0Type, MVT::f64,
29332/* 58761*/ OPC_CheckType, MVT::i64,
29333/* 58763*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_REINTERPRET_F64), 0,
29334 MVT::i64, 1/*#Ops*/, 0,
29335 // Src: (bitconvert:{ *:[i64] } F64:{ *:[f64] }:$src) - Complexity = 3
29336 // Dst: (I64_REINTERPRET_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
29337/* 58770*/ /*Scope*/ 11, /*->58782*/
29338/* 58771*/ OPC_CheckChild0Type, MVT::i32,
29339/* 58773*/ OPC_CheckType, MVT::f32,
29340/* 58775*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_REINTERPRET_I32), 0,
29341 MVT::f32, 1/*#Ops*/, 0,
29342 // Src: (bitconvert:{ *:[f32] } I32:{ *:[i32] }:$src) - Complexity = 3
29343 // Dst: (F32_REINTERPRET_I32:{ *:[f32] } I32:{ *:[i32] }:$src)
29344/* 58782*/ /*Scope*/ 11, /*->58794*/
29345/* 58783*/ OPC_CheckChild0Type, MVT::i64,
29346/* 58785*/ OPC_CheckType, MVT::f64,
29347/* 58787*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_REINTERPRET_I64), 0,
29348 MVT::f64, 1/*#Ops*/, 0,
29349 // Src: (bitconvert:{ *:[f64] } I64:{ *:[i64] }:$src) - Complexity = 3
29350 // Dst: (F64_REINTERPRET_I64:{ *:[f64] } I64:{ *:[i64] }:$src)
29351/* 58794*/ /*Scope*/ 29, /*->58824*/
29352/* 58795*/ OPC_CheckChild0Type, MVT::v8i16,
29353/* 58797*/ OPC_SwitchType /*5 cases */, 3, MVT::v16i8,// ->58803
29354/* 58800*/ OPC_CompleteMatch, 1, 0,
29355 // Src: (bitconvert:{ *:[v16i8] } V128:{ *:[v8i16] }:$v) - Complexity = 3
29356 // Dst: V128:{ *:[v16i8] }:$v
29357/* 58803*/ /*SwitchType*/ 3, MVT::v4i32,// ->58808
29358/* 58805*/ OPC_CompleteMatch, 1, 0,
29359 // Src: (bitconvert:{ *:[v4i32] } V128:{ *:[v8i16] }:$v) - Complexity = 3
29360 // Dst: V128:{ *:[v4i32] }:$v
29361/* 58808*/ /*SwitchType*/ 3, MVT::v2i64,// ->58813
29362/* 58810*/ OPC_CompleteMatch, 1, 0,
29363 // Src: (bitconvert:{ *:[v2i64] } V128:{ *:[v8i16] }:$v) - Complexity = 3
29364 // Dst: V128:{ *:[v2i64] }:$v
29365/* 58813*/ /*SwitchType*/ 3, MVT::v4f32,// ->58818
29366/* 58815*/ OPC_CompleteMatch, 1, 0,
29367 // Src: (bitconvert:{ *:[v4f32] } V128:{ *:[v8i16] }:$v) - Complexity = 3
29368 // Dst: V128:{ *:[v4f32] }:$v
29369/* 58818*/ /*SwitchType*/ 3, MVT::v2f64,// ->58823
29370/* 58820*/ OPC_CompleteMatch, 1, 0,
29371 // Src: (bitconvert:{ *:[v2f64] } V128:{ *:[v8i16] }:$v) - Complexity = 3
29372 // Dst: V128:{ *:[v2f64] }:$v
29373/* 58823*/ 0, // EndSwitchType
29374/* 58824*/ /*Scope*/ 29, /*->58854*/
29375/* 58825*/ OPC_CheckChild0Type, MVT::v4i32,
29376/* 58827*/ OPC_SwitchType /*5 cases */, 3, MVT::v16i8,// ->58833
29377/* 58830*/ OPC_CompleteMatch, 1, 0,
29378 // Src: (bitconvert:{ *:[v16i8] } V128:{ *:[v4i32] }:$v) - Complexity = 3
29379 // Dst: V128:{ *:[v16i8] }:$v
29380/* 58833*/ /*SwitchType*/ 3, MVT::v8i16,// ->58838
29381/* 58835*/ OPC_CompleteMatch, 1, 0,
29382 // Src: (bitconvert:{ *:[v8i16] } V128:{ *:[v4i32] }:$v) - Complexity = 3
29383 // Dst: V128:{ *:[v8i16] }:$v
29384/* 58838*/ /*SwitchType*/ 3, MVT::v2i64,// ->58843
29385/* 58840*/ OPC_CompleteMatch, 1, 0,
29386 // Src: (bitconvert:{ *:[v2i64] } V128:{ *:[v4i32] }:$v) - Complexity = 3
29387 // Dst: V128:{ *:[v2i64] }:$v
29388/* 58843*/ /*SwitchType*/ 3, MVT::v4f32,// ->58848
29389/* 58845*/ OPC_CompleteMatch, 1, 0,
29390 // Src: (bitconvert:{ *:[v4f32] } V128:{ *:[v4i32] }:$v) - Complexity = 3
29391 // Dst: V128:{ *:[v4f32] }:$v
29392/* 58848*/ /*SwitchType*/ 3, MVT::v2f64,// ->58853
29393/* 58850*/ OPC_CompleteMatch, 1, 0,
29394 // Src: (bitconvert:{ *:[v2f64] } V128:{ *:[v4i32] }:$v) - Complexity = 3
29395 // Dst: V128:{ *:[v2f64] }:$v
29396/* 58853*/ 0, // EndSwitchType
29397/* 58854*/ /*Scope*/ 29, /*->58884*/
29398/* 58855*/ OPC_CheckChild0Type, MVT::v2i64,
29399/* 58857*/ OPC_SwitchType /*5 cases */, 3, MVT::v16i8,// ->58863
29400/* 58860*/ OPC_CompleteMatch, 1, 0,
29401 // Src: (bitconvert:{ *:[v16i8] } V128:{ *:[v2i64] }:$v) - Complexity = 3
29402 // Dst: V128:{ *:[v16i8] }:$v
29403/* 58863*/ /*SwitchType*/ 3, MVT::v8i16,// ->58868
29404/* 58865*/ OPC_CompleteMatch, 1, 0,
29405 // Src: (bitconvert:{ *:[v8i16] } V128:{ *:[v2i64] }:$v) - Complexity = 3
29406 // Dst: V128:{ *:[v8i16] }:$v
29407/* 58868*/ /*SwitchType*/ 3, MVT::v4i32,// ->58873
29408/* 58870*/ OPC_CompleteMatch, 1, 0,
29409 // Src: (bitconvert:{ *:[v4i32] } V128:{ *:[v2i64] }:$v) - Complexity = 3
29410 // Dst: V128:{ *:[v4i32] }:$v
29411/* 58873*/ /*SwitchType*/ 3, MVT::v4f32,// ->58878
29412/* 58875*/ OPC_CompleteMatch, 1, 0,
29413 // Src: (bitconvert:{ *:[v4f32] } V128:{ *:[v2i64] }:$v) - Complexity = 3
29414 // Dst: V128:{ *:[v4f32] }:$v
29415/* 58878*/ /*SwitchType*/ 3, MVT::v2f64,// ->58883
29416/* 58880*/ OPC_CompleteMatch, 1, 0,
29417 // Src: (bitconvert:{ *:[v2f64] } V128:{ *:[v2i64] }:$v) - Complexity = 3
29418 // Dst: V128:{ *:[v2f64] }:$v
29419/* 58883*/ 0, // EndSwitchType
29420/* 58884*/ /*Scope*/ 29, /*->58914*/
29421/* 58885*/ OPC_CheckChild0Type, MVT::v4f32,
29422/* 58887*/ OPC_SwitchType /*5 cases */, 3, MVT::v16i8,// ->58893
29423/* 58890*/ OPC_CompleteMatch, 1, 0,
29424 // Src: (bitconvert:{ *:[v16i8] } V128:{ *:[v4f32] }:$v) - Complexity = 3
29425 // Dst: V128:{ *:[v16i8] }:$v
29426/* 58893*/ /*SwitchType*/ 3, MVT::v8i16,// ->58898
29427/* 58895*/ OPC_CompleteMatch, 1, 0,
29428 // Src: (bitconvert:{ *:[v8i16] } V128:{ *:[v4f32] }:$v) - Complexity = 3
29429 // Dst: V128:{ *:[v8i16] }:$v
29430/* 58898*/ /*SwitchType*/ 3, MVT::v4i32,// ->58903
29431/* 58900*/ OPC_CompleteMatch, 1, 0,
29432 // Src: (bitconvert:{ *:[v4i32] } V128:{ *:[v4f32] }:$v) - Complexity = 3
29433 // Dst: V128:{ *:[v4i32] }:$v
29434/* 58903*/ /*SwitchType*/ 3, MVT::v2i64,// ->58908
29435/* 58905*/ OPC_CompleteMatch, 1, 0,
29436 // Src: (bitconvert:{ *:[v2i64] } V128:{ *:[v4f32] }:$v) - Complexity = 3
29437 // Dst: V128:{ *:[v2i64] }:$v
29438/* 58908*/ /*SwitchType*/ 3, MVT::v2f64,// ->58913
29439/* 58910*/ OPC_CompleteMatch, 1, 0,
29440 // Src: (bitconvert:{ *:[v2f64] } V128:{ *:[v4f32] }:$v) - Complexity = 3
29441 // Dst: V128:{ *:[v2f64] }:$v
29442/* 58913*/ 0, // EndSwitchType
29443/* 58914*/ /*Scope*/ 29, /*->58944*/
29444/* 58915*/ OPC_CheckChild0Type, MVT::v2f64,
29445/* 58917*/ OPC_SwitchType /*5 cases */, 3, MVT::v16i8,// ->58923
29446/* 58920*/ OPC_CompleteMatch, 1, 0,
29447 // Src: (bitconvert:{ *:[v16i8] } V128:{ *:[v2f64] }:$v) - Complexity = 3
29448 // Dst: V128:{ *:[v16i8] }:$v
29449/* 58923*/ /*SwitchType*/ 3, MVT::v8i16,// ->58928
29450/* 58925*/ OPC_CompleteMatch, 1, 0,
29451 // Src: (bitconvert:{ *:[v8i16] } V128:{ *:[v2f64] }:$v) - Complexity = 3
29452 // Dst: V128:{ *:[v8i16] }:$v
29453/* 58928*/ /*SwitchType*/ 3, MVT::v4i32,// ->58933
29454/* 58930*/ OPC_CompleteMatch, 1, 0,
29455 // Src: (bitconvert:{ *:[v4i32] } V128:{ *:[v2f64] }:$v) - Complexity = 3
29456 // Dst: V128:{ *:[v4i32] }:$v
29457/* 58933*/ /*SwitchType*/ 3, MVT::v2i64,// ->58938
29458/* 58935*/ OPC_CompleteMatch, 1, 0,
29459 // Src: (bitconvert:{ *:[v2i64] } V128:{ *:[v2f64] }:$v) - Complexity = 3
29460 // Dst: V128:{ *:[v2i64] }:$v
29461/* 58938*/ /*SwitchType*/ 3, MVT::v4f32,// ->58943
29462/* 58940*/ OPC_CompleteMatch, 1, 0,
29463 // Src: (bitconvert:{ *:[v4f32] } V128:{ *:[v2f64] }:$v) - Complexity = 3
29464 // Dst: V128:{ *:[v4f32] }:$v
29465/* 58943*/ 0, // EndSwitchType
29466/* 58944*/ /*Scope*/ 29, /*->58974*/
29467/* 58945*/ OPC_CheckChild0Type, MVT::v16i8,
29468/* 58947*/ OPC_SwitchType /*5 cases */, 3, MVT::v8i16,// ->58953
29469/* 58950*/ OPC_CompleteMatch, 1, 0,
29470 // Src: (bitconvert:{ *:[v8i16] } V128:{ *:[v16i8] }:$v) - Complexity = 3
29471 // Dst: V128:{ *:[v8i16] }:$v
29472/* 58953*/ /*SwitchType*/ 3, MVT::v4i32,// ->58958
29473/* 58955*/ OPC_CompleteMatch, 1, 0,
29474 // Src: (bitconvert:{ *:[v4i32] } V128:{ *:[v16i8] }:$v) - Complexity = 3
29475 // Dst: V128:{ *:[v4i32] }:$v
29476/* 58958*/ /*SwitchType*/ 3, MVT::v2i64,// ->58963
29477/* 58960*/ OPC_CompleteMatch, 1, 0,
29478 // Src: (bitconvert:{ *:[v2i64] } V128:{ *:[v16i8] }:$v) - Complexity = 3
29479 // Dst: V128:{ *:[v2i64] }:$v
29480/* 58963*/ /*SwitchType*/ 3, MVT::v4f32,// ->58968
29481/* 58965*/ OPC_CompleteMatch, 1, 0,
29482 // Src: (bitconvert:{ *:[v4f32] } V128:{ *:[v16i8] }:$v) - Complexity = 3
29483 // Dst: V128:{ *:[v4f32] }:$v
29484/* 58968*/ /*SwitchType*/ 3, MVT::v2f64,// ->58973
29485/* 58970*/ OPC_CompleteMatch, 1, 0,
29486 // Src: (bitconvert:{ *:[v2f64] } V128:{ *:[v16i8] }:$v) - Complexity = 3
29487 // Dst: V128:{ *:[v2f64] }:$v
29488/* 58973*/ 0, // EndSwitchType
29489/* 58974*/ 0, /*End of Scope*/
29490/* 58975*/ /*SwitchOpcode*/ 25, TARGET_VAL(ISD::ConstantFP),// ->59003
29491/* 58978*/ OPC_RecordNode, // #0 = $imm
29492/* 58979*/ OPC_SwitchType /*2 cases */, 9, MVT::f32,// ->58991
29493/* 58982*/ OPC_EmitConvertToTarget, 0,
29494/* 58984*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_F32), 0,
29495 MVT::f32, 1/*#Ops*/, 1,
29496 // Src: (fpimm:{ *:[f32] }):$imm - Complexity = 3
29497 // Dst: (CONST_F32:{ *:[f32] } (fpimm:{ *:[f32] }):$imm)
29498/* 58991*/ /*SwitchType*/ 9, MVT::f64,// ->59002
29499/* 58993*/ OPC_EmitConvertToTarget, 0,
29500/* 58995*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_F64), 0,
29501 MVT::f64, 1/*#Ops*/, 1,
29502 // Src: (fpimm:{ *:[f64] }):$imm - Complexity = 3
29503 // Dst: (CONST_F64:{ *:[f64] } (fpimm:{ *:[f64] }):$imm)
29504/* 59002*/ 0, // EndSwitchType
29505/* 59003*/ /*SwitchOpcode*/ 61, TARGET_VAL(ISD::SINT_TO_FP),// ->59067
29506/* 59006*/ OPC_RecordChild0, // #0 = $src
29507/* 59007*/ OPC_Scope, 22, /*->59031*/ // 3 children in Scope
29508/* 59009*/ OPC_CheckChild0Type, MVT::i32,
29509/* 59011*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->59021
29510/* 59014*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_CONVERT_S_I32), 0,
29511 MVT::f32, 1/*#Ops*/, 0,
29512 // Src: (sint_to_fp:{ *:[f32] } I32:{ *:[i32] }:$src) - Complexity = 3
29513 // Dst: (F32_CONVERT_S_I32:{ *:[f32] } I32:{ *:[i32] }:$src)
29514/* 59021*/ /*SwitchType*/ 7, MVT::f64,// ->59030
29515/* 59023*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_CONVERT_S_I32), 0,
29516 MVT::f64, 1/*#Ops*/, 0,
29517 // Src: (sint_to_fp:{ *:[f64] } I32:{ *:[i32] }:$src) - Complexity = 3
29518 // Dst: (F64_CONVERT_S_I32:{ *:[f64] } I32:{ *:[i32] }:$src)
29519/* 59030*/ 0, // EndSwitchType
29520/* 59031*/ /*Scope*/ 22, /*->59054*/
29521/* 59032*/ OPC_CheckChild0Type, MVT::i64,
29522/* 59034*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->59044
29523/* 59037*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_CONVERT_S_I64), 0,
29524 MVT::f32, 1/*#Ops*/, 0,
29525 // Src: (sint_to_fp:{ *:[f32] } I64:{ *:[i64] }:$src) - Complexity = 3
29526 // Dst: (F32_CONVERT_S_I64:{ *:[f32] } I64:{ *:[i64] }:$src)
29527/* 59044*/ /*SwitchType*/ 7, MVT::f64,// ->59053
29528/* 59046*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_CONVERT_S_I64), 0,
29529 MVT::f64, 1/*#Ops*/, 0,
29530 // Src: (sint_to_fp:{ *:[f64] } I64:{ *:[i64] }:$src) - Complexity = 3
29531 // Dst: (F64_CONVERT_S_I64:{ *:[f64] } I64:{ *:[i64] }:$src)
29532/* 59053*/ 0, // EndSwitchType
29533/* 59054*/ /*Scope*/ 11, /*->59066*/
29534/* 59055*/ OPC_CheckType, MVT::v4f32,
29535/* 59057*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29536/* 59059*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::sint_to_fp_F32x4), 0,
29537 MVT::v4f32, 1/*#Ops*/, 0,
29538 // Src: (sint_to_fp:{ *:[v4f32] } V128:{ *:[v4i32] }:$vec) - Complexity = 3
29539 // Dst: (sint_to_fp_F32x4:{ *:[v4f32] } V128:{ *:[v4i32] }:$vec)
29540/* 59066*/ 0, /*End of Scope*/
29541/* 59067*/ /*SwitchOpcode*/ 61, TARGET_VAL(ISD::UINT_TO_FP),// ->59131
29542/* 59070*/ OPC_RecordChild0, // #0 = $src
29543/* 59071*/ OPC_Scope, 22, /*->59095*/ // 3 children in Scope
29544/* 59073*/ OPC_CheckChild0Type, MVT::i32,
29545/* 59075*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->59085
29546/* 59078*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_CONVERT_U_I32), 0,
29547 MVT::f32, 1/*#Ops*/, 0,
29548 // Src: (uint_to_fp:{ *:[f32] } I32:{ *:[i32] }:$src) - Complexity = 3
29549 // Dst: (F32_CONVERT_U_I32:{ *:[f32] } I32:{ *:[i32] }:$src)
29550/* 59085*/ /*SwitchType*/ 7, MVT::f64,// ->59094
29551/* 59087*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_CONVERT_U_I32), 0,
29552 MVT::f64, 1/*#Ops*/, 0,
29553 // Src: (uint_to_fp:{ *:[f64] } I32:{ *:[i32] }:$src) - Complexity = 3
29554 // Dst: (F64_CONVERT_U_I32:{ *:[f64] } I32:{ *:[i32] }:$src)
29555/* 59094*/ 0, // EndSwitchType
29556/* 59095*/ /*Scope*/ 22, /*->59118*/
29557/* 59096*/ OPC_CheckChild0Type, MVT::i64,
29558/* 59098*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->59108
29559/* 59101*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_CONVERT_U_I64), 0,
29560 MVT::f32, 1/*#Ops*/, 0,
29561 // Src: (uint_to_fp:{ *:[f32] } I64:{ *:[i64] }:$src) - Complexity = 3
29562 // Dst: (F32_CONVERT_U_I64:{ *:[f32] } I64:{ *:[i64] }:$src)
29563/* 59108*/ /*SwitchType*/ 7, MVT::f64,// ->59117
29564/* 59110*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_CONVERT_U_I64), 0,
29565 MVT::f64, 1/*#Ops*/, 0,
29566 // Src: (uint_to_fp:{ *:[f64] } I64:{ *:[i64] }:$src) - Complexity = 3
29567 // Dst: (F64_CONVERT_U_I64:{ *:[f64] } I64:{ *:[i64] }:$src)
29568/* 59117*/ 0, // EndSwitchType
29569/* 59118*/ /*Scope*/ 11, /*->59130*/
29570/* 59119*/ OPC_CheckType, MVT::v4f32,
29571/* 59121*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29572/* 59123*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::uint_to_fp_F32x4), 0,
29573 MVT::v4f32, 1/*#Ops*/, 0,
29574 // Src: (uint_to_fp:{ *:[v4f32] } V128:{ *:[v4i32] }:$vec) - Complexity = 3
29575 // Dst: (uint_to_fp_F32x4:{ *:[v4f32] } V128:{ *:[v4i32] }:$vec)
29576/* 59130*/ 0, /*End of Scope*/
29577/* 59131*/ /*SwitchOpcode*/ 8, TARGET_VAL(ISD::FP_EXTEND),// ->59142
29578/* 59134*/ OPC_RecordChild0, // #0 = $src
29579/* 59135*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_PROMOTE_F32), 0,
29580 MVT::f64, 1/*#Ops*/, 0,
29581 // Src: (fpextend:{ *:[f64] } F32:{ *:[f32] }:$src) - Complexity = 3
29582 // Dst: (F64_PROMOTE_F32:{ *:[f64] } F32:{ *:[f32] }:$src)
29583/* 59142*/ /*SwitchOpcode*/ 8, TARGET_VAL(ISD::FP_ROUND),// ->59153
29584/* 59145*/ OPC_RecordChild0, // #0 = $src
29585/* 59146*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_DEMOTE_F64), 0,
29586 MVT::f32, 1/*#Ops*/, 0,
29587 // Src: (fpround:{ *:[f32] } F64:{ *:[f64] }:$src) - Complexity = 3
29588 // Dst: (F32_DEMOTE_F64:{ *:[f32] } F64:{ *:[f64] }:$src)
29589/* 59153*/ /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FADD),// ->59204
29590/* 59156*/ OPC_RecordChild0, // #0 = $lhs
29591/* 59157*/ OPC_RecordChild1, // #1 = $rhs
29592/* 59158*/ OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->59169
29593/* 59161*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_F32), 0,
29594 MVT::f32, 2/*#Ops*/, 0, 1,
29595 // Src: (fadd:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
29596 // Dst: (ADD_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
29597/* 59169*/ /*SwitchType*/ 8, MVT::f64,// ->59179
29598/* 59171*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_F64), 0,
29599 MVT::f64, 2/*#Ops*/, 0, 1,
29600 // Src: (fadd:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
29601 // Dst: (ADD_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
29602/* 59179*/ /*SwitchType*/ 10, MVT::v4f32,// ->59191
29603/* 59181*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29604/* 59183*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_F32x4), 0,
29605 MVT::v4f32, 2/*#Ops*/, 0, 1,
29606 // Src: (fadd:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
29607 // Dst: (ADD_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
29608/* 59191*/ /*SwitchType*/ 10, MVT::v2f64,// ->59203
29609/* 59193*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29610/* 59195*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_F64x2), 0,
29611 MVT::v2f64, 2/*#Ops*/, 0, 1,
29612 // Src: (fadd:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
29613 // Dst: (ADD_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
29614/* 59203*/ 0, // EndSwitchType
29615/* 59204*/ /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FSUB),// ->59255
29616/* 59207*/ OPC_RecordChild0, // #0 = $lhs
29617/* 59208*/ OPC_RecordChild1, // #1 = $rhs
29618/* 59209*/ OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->59220
29619/* 59212*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_F32), 0,
29620 MVT::f32, 2/*#Ops*/, 0, 1,
29621 // Src: (fsub:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
29622 // Dst: (SUB_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
29623/* 59220*/ /*SwitchType*/ 8, MVT::f64,// ->59230
29624/* 59222*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_F64), 0,
29625 MVT::f64, 2/*#Ops*/, 0, 1,
29626 // Src: (fsub:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
29627 // Dst: (SUB_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
29628/* 59230*/ /*SwitchType*/ 10, MVT::v4f32,// ->59242
29629/* 59232*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29630/* 59234*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_F32x4), 0,
29631 MVT::v4f32, 2/*#Ops*/, 0, 1,
29632 // Src: (fsub:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
29633 // Dst: (SUB_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
29634/* 59242*/ /*SwitchType*/ 10, MVT::v2f64,// ->59254
29635/* 59244*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29636/* 59246*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_F64x2), 0,
29637 MVT::v2f64, 2/*#Ops*/, 0, 1,
29638 // Src: (fsub:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
29639 // Dst: (SUB_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
29640/* 59254*/ 0, // EndSwitchType
29641/* 59255*/ /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FMUL),// ->59306
29642/* 59258*/ OPC_RecordChild0, // #0 = $lhs
29643/* 59259*/ OPC_RecordChild1, // #1 = $rhs
29644/* 59260*/ OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->59271
29645/* 59263*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_F32), 0,
29646 MVT::f32, 2/*#Ops*/, 0, 1,
29647 // Src: (fmul:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
29648 // Dst: (MUL_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
29649/* 59271*/ /*SwitchType*/ 8, MVT::f64,// ->59281
29650/* 59273*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_F64), 0,
29651 MVT::f64, 2/*#Ops*/, 0, 1,
29652 // Src: (fmul:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
29653 // Dst: (MUL_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
29654/* 59281*/ /*SwitchType*/ 10, MVT::v4f32,// ->59293
29655/* 59283*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29656/* 59285*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_F32x4), 0,
29657 MVT::v4f32, 2/*#Ops*/, 0, 1,
29658 // Src: (fmul:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
29659 // Dst: (MUL_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
29660/* 59293*/ /*SwitchType*/ 10, MVT::v2f64,// ->59305
29661/* 59295*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29662/* 59297*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_F64x2), 0,
29663 MVT::v2f64, 2/*#Ops*/, 0, 1,
29664 // Src: (fmul:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
29665 // Dst: (MUL_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
29666/* 59305*/ 0, // EndSwitchType
29667/* 59306*/ /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FDIV),// ->59357
29668/* 59309*/ OPC_RecordChild0, // #0 = $lhs
29669/* 59310*/ OPC_RecordChild1, // #1 = $rhs
29670/* 59311*/ OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->59322
29671/* 59314*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_F32), 0,
29672 MVT::f32, 2/*#Ops*/, 0, 1,
29673 // Src: (fdiv:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
29674 // Dst: (DIV_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
29675/* 59322*/ /*SwitchType*/ 8, MVT::f64,// ->59332
29676/* 59324*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_F64), 0,
29677 MVT::f64, 2/*#Ops*/, 0, 1,
29678 // Src: (fdiv:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
29679 // Dst: (DIV_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
29680/* 59332*/ /*SwitchType*/ 10, MVT::v4f32,// ->59344
29681/* 59334*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29682/* 59336*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_F32x4), 0,
29683 MVT::v4f32, 2/*#Ops*/, 0, 1,
29684 // Src: (fdiv:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
29685 // Dst: (DIV_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
29686/* 59344*/ /*SwitchType*/ 10, MVT::v2f64,// ->59356
29687/* 59346*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29688/* 59348*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_F64x2), 0,
29689 MVT::v2f64, 2/*#Ops*/, 0, 1,
29690 // Src: (fdiv:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
29691 // Dst: (DIV_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
29692/* 59356*/ 0, // EndSwitchType
29693/* 59357*/ /*SwitchOpcode*/ 43, TARGET_VAL(ISD::FSQRT),// ->59403
29694/* 59360*/ OPC_RecordChild0, // #0 = $src
29695/* 59361*/ OPC_SwitchType /*4 cases */, 7, MVT::f32,// ->59371
29696/* 59364*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SQRT_F32), 0,
29697 MVT::f32, 1/*#Ops*/, 0,
29698 // Src: (fsqrt:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
29699 // Dst: (SQRT_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
29700/* 59371*/ /*SwitchType*/ 7, MVT::f64,// ->59380
29701/* 59373*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SQRT_F64), 0,
29702 MVT::f64, 1/*#Ops*/, 0,
29703 // Src: (fsqrt:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
29704 // Dst: (SQRT_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
29705/* 59380*/ /*SwitchType*/ 9, MVT::v4f32,// ->59391
29706/* 59382*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29707/* 59384*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SQRT_F32x4), 0,
29708 MVT::v4f32, 1/*#Ops*/, 0,
29709 // Src: (fsqrt:{ *:[v4f32] } V128:{ *:[v4f32] }:$v) - Complexity = 3
29710 // Dst: (SQRT_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$v)
29711/* 59391*/ /*SwitchType*/ 9, MVT::v2f64,// ->59402
29712/* 59393*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29713/* 59395*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SQRT_F64x2), 0,
29714 MVT::v2f64, 1/*#Ops*/, 0,
29715 // Src: (fsqrt:{ *:[v2f64] } V128:{ *:[v2f64] }:$v) - Complexity = 3
29716 // Dst: (SQRT_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$v)
29717/* 59402*/ 0, // EndSwitchType
29718/* 59403*/ /*SwitchOpcode*/ 43, TARGET_VAL(ISD::FABS),// ->59449
29719/* 59406*/ OPC_RecordChild0, // #0 = $src
29720/* 59407*/ OPC_SwitchType /*4 cases */, 7, MVT::f32,// ->59417
29721/* 59410*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ABS_F32), 0,
29722 MVT::f32, 1/*#Ops*/, 0,
29723 // Src: (fabs:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
29724 // Dst: (ABS_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
29725/* 59417*/ /*SwitchType*/ 7, MVT::f64,// ->59426
29726/* 59419*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ABS_F64), 0,
29727 MVT::f64, 1/*#Ops*/, 0,
29728 // Src: (fabs:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
29729 // Dst: (ABS_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
29730/* 59426*/ /*SwitchType*/ 9, MVT::v4f32,// ->59437
29731/* 59428*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29732/* 59430*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ABS_F32x4), 0,
29733 MVT::v4f32, 1/*#Ops*/, 0,
29734 // Src: (fabs:{ *:[v4f32] } V128:{ *:[v4f32] }:$v) - Complexity = 3
29735 // Dst: (ABS_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$v)
29736/* 59437*/ /*SwitchType*/ 9, MVT::v2f64,// ->59448
29737/* 59439*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29738/* 59441*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ABS_F64x2), 0,
29739 MVT::v2f64, 1/*#Ops*/, 0,
29740 // Src: (fabs:{ *:[v2f64] } V128:{ *:[v2f64] }:$v) - Complexity = 3
29741 // Dst: (ABS_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$v)
29742/* 59448*/ 0, // EndSwitchType
29743/* 59449*/ /*SwitchOpcode*/ 43, TARGET_VAL(ISD::FNEG),// ->59495
29744/* 59452*/ OPC_RecordChild0, // #0 = $src
29745/* 59453*/ OPC_SwitchType /*4 cases */, 7, MVT::f32,// ->59463
29746/* 59456*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_F32), 0,
29747 MVT::f32, 1/*#Ops*/, 0,
29748 // Src: (fneg:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
29749 // Dst: (NEG_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
29750/* 59463*/ /*SwitchType*/ 7, MVT::f64,// ->59472
29751/* 59465*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_F64), 0,
29752 MVT::f64, 1/*#Ops*/, 0,
29753 // Src: (fneg:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
29754 // Dst: (NEG_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
29755/* 59472*/ /*SwitchType*/ 9, MVT::v4f32,// ->59483
29756/* 59474*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29757/* 59476*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_F32x4), 0,
29758 MVT::v4f32, 1/*#Ops*/, 0,
29759 // Src: (fneg:{ *:[v4f32] } V128:{ *:[v4f32] }:$v) - Complexity = 3
29760 // Dst: (NEG_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$v)
29761/* 59483*/ /*SwitchType*/ 9, MVT::v2f64,// ->59494
29762/* 59485*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29763/* 59487*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_F64x2), 0,
29764 MVT::v2f64, 1/*#Ops*/, 0,
29765 // Src: (fneg:{ *:[v2f64] } V128:{ *:[v2f64] }:$v) - Complexity = 3
29766 // Dst: (NEG_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$v)
29767/* 59494*/ 0, // EndSwitchType
29768/* 59495*/ /*SwitchOpcode*/ 68, TARGET_VAL(ISD::FCOPYSIGN),// ->59566
29769/* 59498*/ OPC_RecordChild0, // #0 = $lhs
29770/* 59499*/ OPC_RecordChild1, // #1 = $rhs
29771/* 59500*/ OPC_Scope, 31, /*->59533*/ // 2 children in Scope
29772/* 59502*/ OPC_CheckChild1Type, MVT::f32,
29773/* 59504*/ OPC_SwitchType /*2 cases */, 8, MVT::f32,// ->59515
29774/* 59507*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::COPYSIGN_F32), 0,
29775 MVT::f32, 2/*#Ops*/, 0, 1,
29776 // Src: (fcopysign:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
29777 // Dst: (COPYSIGN_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
29778/* 59515*/ /*SwitchType*/ 15, MVT::f64,// ->59532
29779/* 59517*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::F64_PROMOTE_F32), 0,
29780 MVT::f64, 1/*#Ops*/, 1, // Results = #2
29781/* 59524*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::COPYSIGN_F64), 0,
29782 MVT::f64, 2/*#Ops*/, 0, 2,
29783 // Src: (fcopysign:{ *:[f64] } F64:{ *:[f64] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
29784 // Dst: (COPYSIGN_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, (F64_PROMOTE_F32:{ *:[f64] } F32:{ *:[f32] }:$rhs))
29785/* 59532*/ 0, // EndSwitchType
29786/* 59533*/ /*Scope*/ 31, /*->59565*/
29787/* 59534*/ OPC_CheckChild1Type, MVT::f64,
29788/* 59536*/ OPC_SwitchType /*2 cases */, 8, MVT::f64,// ->59547
29789/* 59539*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::COPYSIGN_F64), 0,
29790 MVT::f64, 2/*#Ops*/, 0, 1,
29791 // Src: (fcopysign:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
29792 // Dst: (COPYSIGN_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
29793/* 59547*/ /*SwitchType*/ 15, MVT::f32,// ->59564
29794/* 59549*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::F32_DEMOTE_F64), 0,
29795 MVT::f32, 1/*#Ops*/, 1, // Results = #2
29796/* 59556*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::COPYSIGN_F32), 0,
29797 MVT::f32, 2/*#Ops*/, 0, 2,
29798 // Src: (fcopysign:{ *:[f32] } F32:{ *:[f32] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
29799 // Dst: (COPYSIGN_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, (F32_DEMOTE_F64:{ *:[f32] } F64:{ *:[f64] }:$rhs))
29800/* 59564*/ 0, // EndSwitchType
29801/* 59565*/ 0, /*End of Scope*/
29802/* 59566*/ /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FMINIMUM),// ->59617
29803/* 59569*/ OPC_RecordChild0, // #0 = $lhs
29804/* 59570*/ OPC_RecordChild1, // #1 = $rhs
29805/* 59571*/ OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->59582
29806/* 59574*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_F32), 0,
29807 MVT::f32, 2/*#Ops*/, 0, 1,
29808 // Src: (fminimum:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
29809 // Dst: (MIN_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
29810/* 59582*/ /*SwitchType*/ 8, MVT::f64,// ->59592
29811/* 59584*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_F64), 0,
29812 MVT::f64, 2/*#Ops*/, 0, 1,
29813 // Src: (fminimum:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
29814 // Dst: (MIN_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
29815/* 59592*/ /*SwitchType*/ 10, MVT::v4f32,// ->59604
29816/* 59594*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29817/* 59596*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_F32x4), 0,
29818 MVT::v4f32, 2/*#Ops*/, 0, 1,
29819 // Src: (fminimum:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
29820 // Dst: (MIN_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
29821/* 59604*/ /*SwitchType*/ 10, MVT::v2f64,// ->59616
29822/* 59606*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29823/* 59608*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_F64x2), 0,
29824 MVT::v2f64, 2/*#Ops*/, 0, 1,
29825 // Src: (fminimum:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
29826 // Dst: (MIN_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
29827/* 59616*/ 0, // EndSwitchType
29828/* 59617*/ /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FMAXIMUM),// ->59668
29829/* 59620*/ OPC_RecordChild0, // #0 = $lhs
29830/* 59621*/ OPC_RecordChild1, // #1 = $rhs
29831/* 59622*/ OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->59633
29832/* 59625*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_F32), 0,
29833 MVT::f32, 2/*#Ops*/, 0, 1,
29834 // Src: (fmaximum:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
29835 // Dst: (MAX_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
29836/* 59633*/ /*SwitchType*/ 8, MVT::f64,// ->59643
29837/* 59635*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_F64), 0,
29838 MVT::f64, 2/*#Ops*/, 0, 1,
29839 // Src: (fmaximum:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
29840 // Dst: (MAX_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
29841/* 59643*/ /*SwitchType*/ 10, MVT::v4f32,// ->59655
29842/* 59645*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29843/* 59647*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_F32x4), 0,
29844 MVT::v4f32, 2/*#Ops*/, 0, 1,
29845 // Src: (fmaximum:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
29846 // Dst: (MAX_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
29847/* 59655*/ /*SwitchType*/ 10, MVT::v2f64,// ->59667
29848/* 59657*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
29849/* 59659*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_F64x2), 0,
29850 MVT::v2f64, 2/*#Ops*/, 0, 1,
29851 // Src: (fmaximum:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
29852 // Dst: (MAX_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
29853/* 59667*/ 0, // EndSwitchType
29854/* 59668*/ /*SwitchOpcode*/ 21, TARGET_VAL(ISD::FCEIL),// ->59692
29855/* 59671*/ OPC_RecordChild0, // #0 = $src
29856/* 59672*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->59682
29857/* 59675*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CEIL_F32), 0,
29858 MVT::f32, 1/*#Ops*/, 0,
29859 // Src: (fceil:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
29860 // Dst: (CEIL_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
29861/* 59682*/ /*SwitchType*/ 7, MVT::f64,// ->59691
29862/* 59684*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CEIL_F64), 0,
29863 MVT::f64, 1/*#Ops*/, 0,
29864 // Src: (fceil:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
29865 // Dst: (CEIL_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
29866/* 59691*/ 0, // EndSwitchType
29867/* 59692*/ /*SwitchOpcode*/ 21, TARGET_VAL(ISD::FFLOOR),// ->59716
29868/* 59695*/ OPC_RecordChild0, // #0 = $src
29869/* 59696*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->59706
29870/* 59699*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FLOOR_F32), 0,
29871 MVT::f32, 1/*#Ops*/, 0,
29872 // Src: (ffloor:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
29873 // Dst: (FLOOR_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
29874/* 59706*/ /*SwitchType*/ 7, MVT::f64,// ->59715
29875/* 59708*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FLOOR_F64), 0,
29876 MVT::f64, 1/*#Ops*/, 0,
29877 // Src: (ffloor:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
29878 // Dst: (FLOOR_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
29879/* 59715*/ 0, // EndSwitchType
29880/* 59716*/ /*SwitchOpcode*/ 21, TARGET_VAL(ISD::FTRUNC),// ->59740
29881/* 59719*/ OPC_RecordChild0, // #0 = $src
29882/* 59720*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->59730
29883/* 59723*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TRUNC_F32), 0,
29884 MVT::f32, 1/*#Ops*/, 0,
29885 // Src: (ftrunc:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
29886 // Dst: (TRUNC_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
29887/* 59730*/ /*SwitchType*/ 7, MVT::f64,// ->59739
29888/* 59732*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TRUNC_F64), 0,
29889 MVT::f64, 1/*#Ops*/, 0,
29890 // Src: (ftrunc:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
29891 // Dst: (TRUNC_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
29892/* 59739*/ 0, // EndSwitchType
29893/* 59740*/ /*SwitchOpcode*/ 21, TARGET_VAL(ISD::FNEARBYINT),// ->59764
29894/* 59743*/ OPC_RecordChild0, // #0 = $src
29895/* 59744*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->59754
29896/* 59747*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEAREST_F32), 0,
29897 MVT::f32, 1/*#Ops*/, 0,
29898 // Src: (fnearbyint:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
29899 // Dst: (NEAREST_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
29900/* 59754*/ /*SwitchType*/ 7, MVT::f64,// ->59763
29901/* 59756*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEAREST_F64), 0,
29902 MVT::f64, 1/*#Ops*/, 0,
29903 // Src: (fnearbyint:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
29904 // Dst: (NEAREST_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
29905/* 59763*/ 0, // EndSwitchType
29906/* 59764*/ /*SwitchOpcode*/ 21, TARGET_VAL(ISD::FRINT),// ->59788
29907/* 59767*/ OPC_RecordChild0, // #0 = $src
29908/* 59768*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->59778
29909/* 59771*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEAREST_F32), 0,
29910 MVT::f32, 1/*#Ops*/, 0,
29911 // Src: (frint:{ *:[f32] } f32:{ *:[f32] }:$src) - Complexity = 3
29912 // Dst: (NEAREST_F32:{ *:[f32] } f32:{ *:[f32] }:$src)
29913/* 59778*/ /*SwitchType*/ 7, MVT::f64,// ->59787
29914/* 59780*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEAREST_F64), 0,
29915 MVT::f64, 1/*#Ops*/, 0,
29916 // Src: (frint:{ *:[f64] } f64:{ *:[f64] }:$src) - Complexity = 3
29917 // Dst: (NEAREST_F64:{ *:[f64] } f64:{ *:[f64] }:$src)
29918/* 59787*/ 0, // EndSwitchType
29919/* 59788*/ /*SwitchOpcode*/ 103|128,2/*359*/, TARGET_VAL(WebAssemblyISD::VEC_SHR_U),// ->60151
29920/* 59792*/ OPC_Scope, 46|128,2/*302*/, /*->60097*/ // 2 children in Scope
29921/* 59795*/ OPC_MoveChild0,
29922/* 59796*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
29923/* 59799*/ OPC_MoveChild0,
29924/* 59800*/ OPC_SwitchOpcode /*2 cases */, 11|128,1/*139*/, TARGET_VAL(ISD::ADD),// ->59944
29925/* 59805*/ OPC_RecordChild0, // #0 = $lhs
29926/* 59806*/ OPC_RecordChild1, // #1 = $rhs
29927/* 59807*/ OPC_CheckPredicate, 23, // Predicate_add_nuw
29928/* 59809*/ OPC_MoveParent,
29929/* 59810*/ OPC_MoveChild1,
29930/* 59811*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29931/* 59814*/ OPC_CheckChild0Integer, 1,
29932/* 59816*/ OPC_CheckChild0Type, MVT::i32,
29933/* 59818*/ OPC_CheckChild1Integer, 1,
29934/* 59820*/ OPC_CheckChild1Type, MVT::i32,
29935/* 59822*/ OPC_CheckChild2Integer, 1,
29936/* 59824*/ OPC_CheckChild2Type, MVT::i32,
29937/* 59826*/ OPC_CheckChild3Integer, 1,
29938/* 59828*/ OPC_CheckChild3Type, MVT::i32,
29939/* 59830*/ OPC_CheckChild4Integer, 1,
29940/* 59832*/ OPC_CheckChild4Type, MVT::i32,
29941/* 59834*/ OPC_MoveChild5,
29942/* 59835*/ OPC_CheckInteger, 1,
29943/* 59837*/ OPC_CheckType, MVT::i32,
29944/* 59839*/ OPC_MoveParent,
29945/* 59840*/ OPC_MoveChild6,
29946/* 59841*/ OPC_CheckInteger, 1,
29947/* 59843*/ OPC_CheckType, MVT::i32,
29948/* 59845*/ OPC_MoveParent,
29949/* 59846*/ OPC_MoveChild7,
29950/* 59847*/ OPC_CheckInteger, 1,
29951/* 59849*/ OPC_CheckType, MVT::i32,
29952/* 59851*/ OPC_MoveParent,
29953/* 59852*/ OPC_Scope, 72, /*->59926*/ // 2 children in Scope
29954/* 59854*/ OPC_MoveChild, 8,
29955/* 59856*/ OPC_CheckInteger, 1,
29956/* 59858*/ OPC_CheckType, MVT::i32,
29957/* 59860*/ OPC_MoveParent,
29958/* 59861*/ OPC_MoveChild, 9,
29959/* 59863*/ OPC_CheckInteger, 1,
29960/* 59865*/ OPC_CheckType, MVT::i32,
29961/* 59867*/ OPC_MoveParent,
29962/* 59868*/ OPC_MoveChild, 10,
29963/* 59870*/ OPC_CheckInteger, 1,
29964/* 59872*/ OPC_CheckType, MVT::i32,
29965/* 59874*/ OPC_MoveParent,
29966/* 59875*/ OPC_MoveChild, 11,
29967/* 59877*/ OPC_CheckInteger, 1,
29968/* 59879*/ OPC_CheckType, MVT::i32,
29969/* 59881*/ OPC_MoveParent,
29970/* 59882*/ OPC_MoveChild, 12,
29971/* 59884*/ OPC_CheckInteger, 1,
29972/* 59886*/ OPC_CheckType, MVT::i32,
29973/* 59888*/ OPC_MoveParent,
29974/* 59889*/ OPC_MoveChild, 13,
29975/* 59891*/ OPC_CheckInteger, 1,
29976/* 59893*/ OPC_CheckType, MVT::i32,
29977/* 59895*/ OPC_MoveParent,
29978/* 59896*/ OPC_MoveChild, 14,
29979/* 59898*/ OPC_CheckInteger, 1,
29980/* 59900*/ OPC_CheckType, MVT::i32,
29981/* 59902*/ OPC_MoveParent,
29982/* 59903*/ OPC_MoveChild, 15,
29983/* 59905*/ OPC_CheckInteger, 1,
29984/* 59907*/ OPC_CheckType, MVT::i32,
29985/* 59909*/ OPC_MoveParent,
29986/* 59910*/ OPC_MoveParent,
29987/* 59911*/ OPC_CheckPredicate, 23, // Predicate_add_nuw
29988/* 59913*/ OPC_MoveParent,
29989/* 59914*/ OPC_CheckChild1Integer, 1,
29990/* 59916*/ OPC_CheckType, MVT::v16i8,
29991/* 59918*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AVGR_U_I8x16), 0,
29992 MVT::v16i8, 2/*#Ops*/, 0, 1,
29993 // Src: (wasm_shr_u:{ *:[v16i8] } (add:{ *:[v16i8] } (add:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)<<P:Predicate_add_nuw>>, (build_vector:{ *:[v16i8] } 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }))<<P:Predicate_add_nuw>>, 1:{ *:[i32] }) - Complexity = 99
29994 // Dst: (AVGR_U_I8x16:{ *:[v16i8] } ?:{ *:[v16i8] }:$lhs, ?:{ *:[v16i8] }:$rhs)
29995/* 59926*/ /*Scope*/ 16, /*->59943*/
29996/* 59927*/ OPC_MoveParent,
29997/* 59928*/ OPC_CheckPredicate, 23, // Predicate_add_nuw
29998/* 59930*/ OPC_MoveParent,
29999/* 59931*/ OPC_CheckChild1Integer, 1,
30000/* 59933*/ OPC_CheckType, MVT::v8i16,
30001/* 59935*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AVGR_U_I16x8), 0,
30002 MVT::v8i16, 2/*#Ops*/, 0, 1,
30003 // Src: (wasm_shr_u:{ *:[v8i16] } (add:{ *:[v8i16] } (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)<<P:Predicate_add_nuw>>, (build_vector:{ *:[v8i16] } 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }))<<P:Predicate_add_nuw>>, 1:{ *:[i32] }) - Complexity = 59
30004 // Dst: (AVGR_U_I16x8:{ *:[v8i16] } ?:{ *:[v8i16] }:$lhs, ?:{ *:[v8i16] }:$rhs)
30005/* 59943*/ 0, /*End of Scope*/
30006/* 59944*/ /*SwitchOpcode*/ 20|128,1/*148*/, TARGET_VAL(ISD::BUILD_VECTOR),// ->60096
30007/* 59948*/ OPC_CheckChild0Integer, 1,
30008/* 59950*/ OPC_CheckChild0Type, MVT::i32,
30009/* 59952*/ OPC_CheckChild1Integer, 1,
30010/* 59954*/ OPC_CheckChild1Type, MVT::i32,
30011/* 59956*/ OPC_CheckChild2Integer, 1,
30012/* 59958*/ OPC_CheckChild2Type, MVT::i32,
30013/* 59960*/ OPC_CheckChild3Integer, 1,
30014/* 59962*/ OPC_CheckChild3Type, MVT::i32,
30015/* 59964*/ OPC_CheckChild4Integer, 1,
30016/* 59966*/ OPC_CheckChild4Type, MVT::i32,
30017/* 59968*/ OPC_MoveChild5,
30018/* 59969*/ OPC_CheckInteger, 1,
30019/* 59971*/ OPC_CheckType, MVT::i32,
30020/* 59973*/ OPC_MoveParent,
30021/* 59974*/ OPC_MoveChild6,
30022/* 59975*/ OPC_CheckInteger, 1,
30023/* 59977*/ OPC_CheckType, MVT::i32,
30024/* 59979*/ OPC_MoveParent,
30025/* 59980*/ OPC_MoveChild7,
30026/* 59981*/ OPC_CheckInteger, 1,
30027/* 59983*/ OPC_CheckType, MVT::i32,
30028/* 59985*/ OPC_MoveParent,
30029/* 59986*/ OPC_Scope, 81, /*->60069*/ // 2 children in Scope
30030/* 59988*/ OPC_MoveChild, 8,
30031/* 59990*/ OPC_CheckInteger, 1,
30032/* 59992*/ OPC_CheckType, MVT::i32,
30033/* 59994*/ OPC_MoveParent,
30034/* 59995*/ OPC_MoveChild, 9,
30035/* 59997*/ OPC_CheckInteger, 1,
30036/* 59999*/ OPC_CheckType, MVT::i32,
30037/* 60001*/ OPC_MoveParent,
30038/* 60002*/ OPC_MoveChild, 10,
30039/* 60004*/ OPC_CheckInteger, 1,
30040/* 60006*/ OPC_CheckType, MVT::i32,
30041/* 60008*/ OPC_MoveParent,
30042/* 60009*/ OPC_MoveChild, 11,
30043/* 60011*/ OPC_CheckInteger, 1,
30044/* 60013*/ OPC_CheckType, MVT::i32,
30045/* 60015*/ OPC_MoveParent,
30046/* 60016*/ OPC_MoveChild, 12,
30047/* 60018*/ OPC_CheckInteger, 1,
30048/* 60020*/ OPC_CheckType, MVT::i32,
30049/* 60022*/ OPC_MoveParent,
30050/* 60023*/ OPC_MoveChild, 13,
30051/* 60025*/ OPC_CheckInteger, 1,
30052/* 60027*/ OPC_CheckType, MVT::i32,
30053/* 60029*/ OPC_MoveParent,
30054/* 60030*/ OPC_MoveChild, 14,
30055/* 60032*/ OPC_CheckInteger, 1,
30056/* 60034*/ OPC_CheckType, MVT::i32,
30057/* 60036*/ OPC_MoveParent,
30058/* 60037*/ OPC_MoveChild, 15,
30059/* 60039*/ OPC_CheckInteger, 1,
30060/* 60041*/ OPC_CheckType, MVT::i32,
30061/* 60043*/ OPC_MoveParent,
30062/* 60044*/ OPC_MoveParent,
30063/* 60045*/ OPC_MoveChild1,
30064/* 60046*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
30065/* 60049*/ OPC_RecordChild0, // #0 = $lhs
30066/* 60050*/ OPC_RecordChild1, // #1 = $rhs
30067/* 60051*/ OPC_CheckPredicate, 23, // Predicate_add_nuw
30068/* 60053*/ OPC_MoveParent,
30069/* 60054*/ OPC_CheckPredicate, 23, // Predicate_add_nuw
30070/* 60056*/ OPC_MoveParent,
30071/* 60057*/ OPC_CheckChild1Integer, 1,
30072/* 60059*/ OPC_CheckType, MVT::v16i8,
30073/* 60061*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AVGR_U_I8x16), 0,
30074 MVT::v16i8, 2/*#Ops*/, 0, 1,
30075 // Src: (wasm_shr_u:{ *:[v16i8] } (add:{ *:[v16i8] } (build_vector:{ *:[v16i8] } 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }), (add:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)<<P:Predicate_add_nuw>>)<<P:Predicate_add_nuw>>, 1:{ *:[i32] }) - Complexity = 99
30076 // Dst: (AVGR_U_I8x16:{ *:[v16i8] } ?:{ *:[v16i8] }:$lhs, ?:{ *:[v16i8] }:$rhs)
30077/* 60069*/ /*Scope*/ 25, /*->60095*/
30078/* 60070*/ OPC_MoveParent,
30079/* 60071*/ OPC_MoveChild1,
30080/* 60072*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
30081/* 60075*/ OPC_RecordChild0, // #0 = $lhs
30082/* 60076*/ OPC_RecordChild1, // #1 = $rhs
30083/* 60077*/ OPC_CheckPredicate, 23, // Predicate_add_nuw
30084/* 60079*/ OPC_MoveParent,
30085/* 60080*/ OPC_CheckPredicate, 23, // Predicate_add_nuw
30086/* 60082*/ OPC_MoveParent,
30087/* 60083*/ OPC_CheckChild1Integer, 1,
30088/* 60085*/ OPC_CheckType, MVT::v8i16,
30089/* 60087*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AVGR_U_I16x8), 0,
30090 MVT::v8i16, 2/*#Ops*/, 0, 1,
30091 // Src: (wasm_shr_u:{ *:[v8i16] } (add:{ *:[v8i16] } (build_vector:{ *:[v8i16] } 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }, 1:{ *:[i32] }), (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)<<P:Predicate_add_nuw>>)<<P:Predicate_add_nuw>>, 1:{ *:[i32] }) - Complexity = 59
30092 // Dst: (AVGR_U_I16x8:{ *:[v8i16] } ?:{ *:[v8i16] }:$lhs, ?:{ *:[v8i16] }:$rhs)
30093/* 60095*/ 0, /*End of Scope*/
30094/* 60096*/ 0, // EndSwitchOpcode
30095/* 60097*/ /*Scope*/ 52, /*->60150*/
30096/* 60098*/ OPC_RecordChild0, // #0 = $vec
30097/* 60099*/ OPC_RecordChild1, // #1 = $x
30098/* 60100*/ OPC_SwitchType /*4 cases */, 10, MVT::v16i8,// ->60113
30099/* 60103*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
30100/* 60105*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_I8x16), 0,
30101 MVT::v16i8, 2/*#Ops*/, 0, 1,
30102 // Src: (wasm_shr_u:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, I32:{ *:[i32] }:$x) - Complexity = 3
30103 // Dst: (SHR_U_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, I32:{ *:[i32] }:$x)
30104/* 60113*/ /*SwitchType*/ 10, MVT::v8i16,// ->60125
30105/* 60115*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
30106/* 60117*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_I16x8), 0,
30107 MVT::v8i16, 2/*#Ops*/, 0, 1,
30108 // Src: (wasm_shr_u:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, I32:{ *:[i32] }:$x) - Complexity = 3
30109 // Dst: (SHR_U_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, I32:{ *:[i32] }:$x)
30110/* 60125*/ /*SwitchType*/ 10, MVT::v4i32,// ->60137
30111/* 60127*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
30112/* 60129*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_I32x4), 0,
30113 MVT::v4i32, 2/*#Ops*/, 0, 1,
30114 // Src: (wasm_shr_u:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, I32:{ *:[i32] }:$x) - Complexity = 3
30115 // Dst: (SHR_U_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, I32:{ *:[i32] }:$x)
30116/* 60137*/ /*SwitchType*/ 10, MVT::v2i64,// ->60149
30117/* 60139*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
30118/* 60141*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_I64x2), 0,
30119 MVT::v2i64, 2/*#Ops*/, 0, 1,
30120 // Src: (wasm_shr_u:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, I32:{ *:[i32] }:$x) - Complexity = 3
30121 // Dst: (SHR_U_I64x2:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, I32:{ *:[i32] }:$x)
30122/* 60149*/ 0, // EndSwitchType
30123/* 60150*/ 0, /*End of Scope*/
30124/* 60151*/ /*SwitchOpcode*/ 21|128,5/*661*/, TARGET_VAL(ISD::BUILD_VECTOR),// ->60816
30125/* 60155*/ OPC_RecordChild0, // #0 = $i0
30126/* 60156*/ OPC_Scope, 31|128,3/*415*/, /*->60574*/ // 6 children in Scope
30127/* 60159*/ OPC_MoveChild0,
30128/* 60160*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30129/* 60163*/ OPC_SwitchType /*2 cases */, 123|128,2/*379*/, MVT::i32,// ->60546
30130/* 60167*/ OPC_Scope, 91|128,1/*219*/, /*->60389*/ // 3 children in Scope
30131/* 60170*/ OPC_CheckPredicate, 24, // Predicate_ImmI8
30132/* 60172*/ OPC_MoveParent,
30133/* 60173*/ OPC_RecordChild1, // #1 = $i1
30134/* 60174*/ OPC_MoveChild1,
30135/* 60175*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30136/* 60178*/ OPC_CheckPredicate, 24, // Predicate_ImmI8
30137/* 60180*/ OPC_CheckType, MVT::i32,
30138/* 60182*/ OPC_MoveParent,
30139/* 60183*/ OPC_RecordChild2, // #2 = $i2
30140/* 60184*/ OPC_MoveChild2,
30141/* 60185*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30142/* 60188*/ OPC_CheckPredicate, 24, // Predicate_ImmI8
30143/* 60190*/ OPC_CheckType, MVT::i32,
30144/* 60192*/ OPC_MoveParent,
30145/* 60193*/ OPC_RecordChild3, // #3 = $i3
30146/* 60194*/ OPC_MoveChild3,
30147/* 60195*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30148/* 60198*/ OPC_CheckPredicate, 24, // Predicate_ImmI8
30149/* 60200*/ OPC_CheckType, MVT::i32,
30150/* 60202*/ OPC_MoveParent,
30151/* 60203*/ OPC_RecordChild4, // #4 = $i4
30152/* 60204*/ OPC_MoveChild4,
30153/* 60205*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30154/* 60208*/ OPC_CheckPredicate, 24, // Predicate_ImmI8
30155/* 60210*/ OPC_CheckType, MVT::i32,
30156/* 60212*/ OPC_MoveParent,
30157/* 60213*/ OPC_RecordChild5, // #5 = $i5
30158/* 60214*/ OPC_MoveChild5,
30159/* 60215*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30160/* 60218*/ OPC_CheckPredicate, 24, // Predicate_ImmI8
30161/* 60220*/ OPC_CheckType, MVT::i32,
30162/* 60222*/ OPC_MoveParent,
30163/* 60223*/ OPC_RecordChild6, // #6 = $i6
30164/* 60224*/ OPC_MoveChild6,
30165/* 60225*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30166/* 60228*/ OPC_CheckPredicate, 24, // Predicate_ImmI8
30167/* 60230*/ OPC_CheckType, MVT::i32,
30168/* 60232*/ OPC_MoveParent,
30169/* 60233*/ OPC_RecordChild7, // #7 = $i7
30170/* 60234*/ OPC_MoveChild7,
30171/* 60235*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30172/* 60238*/ OPC_CheckPredicate, 24, // Predicate_ImmI8
30173/* 60240*/ OPC_CheckType, MVT::i32,
30174/* 60242*/ OPC_MoveParent,
30175/* 60243*/ OPC_MoveChild, 8,
30176/* 60245*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30177/* 60248*/ OPC_RecordNode, // #8 = $i8
30178/* 60249*/ OPC_CheckPredicate, 24, // Predicate_ImmI8
30179/* 60251*/ OPC_CheckType, MVT::i32,
30180/* 60253*/ OPC_MoveParent,
30181/* 60254*/ OPC_MoveChild, 9,
30182/* 60256*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30183/* 60259*/ OPC_RecordNode, // #9 = $i9
30184/* 60260*/ OPC_CheckPredicate, 24, // Predicate_ImmI8
30185/* 60262*/ OPC_CheckType, MVT::i32,
30186/* 60264*/ OPC_MoveParent,
30187/* 60265*/ OPC_MoveChild, 10,
30188/* 60267*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30189/* 60270*/ OPC_RecordNode, // #10 = $iA
30190/* 60271*/ OPC_CheckPredicate, 24, // Predicate_ImmI8
30191/* 60273*/ OPC_CheckType, MVT::i32,
30192/* 60275*/ OPC_MoveParent,
30193/* 60276*/ OPC_MoveChild, 11,
30194/* 60278*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30195/* 60281*/ OPC_RecordNode, // #11 = $iB
30196/* 60282*/ OPC_CheckPredicate, 24, // Predicate_ImmI8
30197/* 60284*/ OPC_CheckType, MVT::i32,
30198/* 60286*/ OPC_MoveParent,
30199/* 60287*/ OPC_MoveChild, 12,
30200/* 60289*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30201/* 60292*/ OPC_RecordNode, // #12 = $iC
30202/* 60293*/ OPC_CheckPredicate, 24, // Predicate_ImmI8
30203/* 60295*/ OPC_CheckType, MVT::i32,
30204/* 60297*/ OPC_MoveParent,
30205/* 60298*/ OPC_MoveChild, 13,
30206/* 60300*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30207/* 60303*/ OPC_RecordNode, // #13 = $iD
30208/* 60304*/ OPC_CheckPredicate, 24, // Predicate_ImmI8
30209/* 60306*/ OPC_CheckType, MVT::i32,
30210/* 60308*/ OPC_MoveParent,
30211/* 60309*/ OPC_MoveChild, 14,
30212/* 60311*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30213/* 60314*/ OPC_RecordNode, // #14 = $iE
30214/* 60315*/ OPC_CheckPredicate, 24, // Predicate_ImmI8
30215/* 60317*/ OPC_CheckType, MVT::i32,
30216/* 60319*/ OPC_MoveParent,
30217/* 60320*/ OPC_MoveChild, 15,
30218/* 60322*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30219/* 60325*/ OPC_RecordNode, // #15 = $iF
30220/* 60326*/ OPC_CheckPredicate, 24, // Predicate_ImmI8
30221/* 60328*/ OPC_CheckType, MVT::i32,
30222/* 60330*/ OPC_MoveParent,
30223/* 60331*/ OPC_CheckType, MVT::v16i8,
30224/* 60333*/ OPC_CheckPatternPredicate, 17, // (Subtarget->hasUnimplementedSIMD128())
30225/* 60335*/ OPC_EmitConvertToTarget, 0,
30226/* 60337*/ OPC_EmitConvertToTarget, 1,
30227/* 60339*/ OPC_EmitConvertToTarget, 2,
30228/* 60341*/ OPC_EmitConvertToTarget, 3,
30229/* 60343*/ OPC_EmitConvertToTarget, 4,
30230/* 60345*/ OPC_EmitConvertToTarget, 5,
30231/* 60347*/ OPC_EmitConvertToTarget, 6,
30232/* 60349*/ OPC_EmitConvertToTarget, 7,
30233/* 60351*/ OPC_EmitConvertToTarget, 8,
30234/* 60353*/ OPC_EmitConvertToTarget, 9,
30235/* 60355*/ OPC_EmitConvertToTarget, 10,
30236/* 60357*/ OPC_EmitConvertToTarget, 11,
30237/* 60359*/ OPC_EmitConvertToTarget, 12,
30238/* 60361*/ OPC_EmitConvertToTarget, 13,
30239/* 60363*/ OPC_EmitConvertToTarget, 14,
30240/* 60365*/ OPC_EmitConvertToTarget, 15,
30241/* 60367*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_I8x16), 0,
30242 MVT::v16i8, 16/*#Ops*/, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
30243 // Src: (build_vector:{ *:[v16i8] } (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i0, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i1, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i2, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i3, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i4, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i5, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i6, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i7, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i8, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i9, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iA, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iB, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iC, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iD, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iE, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iF) - Complexity = 67
30244 // Dst: (CONST_V128_I8x16:{ *:[v16i8] } (imm:{ *:[i32] }):$i0, (imm:{ *:[i32] }):$i1, (imm:{ *:[i32] }):$i2, (imm:{ *:[i32] }):$i3, (imm:{ *:[i32] }):$i4, (imm:{ *:[i32] }):$i5, (imm:{ *:[i32] }):$i6, (imm:{ *:[i32] }):$i7, (imm:{ *:[i32] }):$i8, (imm:{ *:[i32] }):$i9, (imm:{ *:[i32] }):$iA, (imm:{ *:[i32] }):$iB, (imm:{ *:[i32] }):$iC, (imm:{ *:[i32] }):$iD, (imm:{ *:[i32] }):$iE, (imm:{ *:[i32] }):$iF)
30245/* 60389*/ /*Scope*/ 107, /*->60497*/
30246/* 60390*/ OPC_CheckPredicate, 25, // Predicate_ImmI16
30247/* 60392*/ OPC_MoveParent,
30248/* 60393*/ OPC_RecordChild1, // #1 = $i1
30249/* 60394*/ OPC_MoveChild1,
30250/* 60395*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30251/* 60398*/ OPC_CheckPredicate, 25, // Predicate_ImmI16
30252/* 60400*/ OPC_CheckType, MVT::i32,
30253/* 60402*/ OPC_MoveParent,
30254/* 60403*/ OPC_RecordChild2, // #2 = $i2
30255/* 60404*/ OPC_MoveChild2,
30256/* 60405*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30257/* 60408*/ OPC_CheckPredicate, 25, // Predicate_ImmI16
30258/* 60410*/ OPC_CheckType, MVT::i32,
30259/* 60412*/ OPC_MoveParent,
30260/* 60413*/ OPC_RecordChild3, // #3 = $i3
30261/* 60414*/ OPC_MoveChild3,
30262/* 60415*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30263/* 60418*/ OPC_CheckPredicate, 25, // Predicate_ImmI16
30264/* 60420*/ OPC_CheckType, MVT::i32,
30265/* 60422*/ OPC_MoveParent,
30266/* 60423*/ OPC_RecordChild4, // #4 = $i4
30267/* 60424*/ OPC_MoveChild4,
30268/* 60425*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30269/* 60428*/ OPC_CheckPredicate, 25, // Predicate_ImmI16
30270/* 60430*/ OPC_CheckType, MVT::i32,
30271/* 60432*/ OPC_MoveParent,
30272/* 60433*/ OPC_RecordChild5, // #5 = $i5
30273/* 60434*/ OPC_MoveChild5,
30274/* 60435*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30275/* 60438*/ OPC_CheckPredicate, 25, // Predicate_ImmI16
30276/* 60440*/ OPC_CheckType, MVT::i32,
30277/* 60442*/ OPC_MoveParent,
30278/* 60443*/ OPC_RecordChild6, // #6 = $i6
30279/* 60444*/ OPC_MoveChild6,
30280/* 60445*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30281/* 60448*/ OPC_CheckPredicate, 25, // Predicate_ImmI16
30282/* 60450*/ OPC_CheckType, MVT::i32,
30283/* 60452*/ OPC_MoveParent,
30284/* 60453*/ OPC_RecordChild7, // #7 = $i7
30285/* 60454*/ OPC_MoveChild7,
30286/* 60455*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30287/* 60458*/ OPC_CheckPredicate, 25, // Predicate_ImmI16
30288/* 60460*/ OPC_CheckType, MVT::i32,
30289/* 60462*/ OPC_MoveParent,
30290/* 60463*/ OPC_CheckType, MVT::v8i16,
30291/* 60465*/ OPC_CheckPatternPredicate, 17, // (Subtarget->hasUnimplementedSIMD128())
30292/* 60467*/ OPC_EmitConvertToTarget, 0,
30293/* 60469*/ OPC_EmitConvertToTarget, 1,
30294/* 60471*/ OPC_EmitConvertToTarget, 2,
30295/* 60473*/ OPC_EmitConvertToTarget, 3,
30296/* 60475*/ OPC_EmitConvertToTarget, 4,
30297/* 60477*/ OPC_EmitConvertToTarget, 5,
30298/* 60479*/ OPC_EmitConvertToTarget, 6,
30299/* 60481*/ OPC_EmitConvertToTarget, 7,
30300/* 60483*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_I16x8), 0,
30301 MVT::v8i16, 8/*#Ops*/, 8, 9, 10, 11, 12, 13, 14, 15,
30302 // Src: (build_vector:{ *:[v8i16] } (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i0, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i1, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i2, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i3, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i4, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i5, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i6, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i7) - Complexity = 35
30303 // Dst: (CONST_V128_I16x8:{ *:[v8i16] } (imm:{ *:[i32] }):$i0, (imm:{ *:[i32] }):$i1, (imm:{ *:[i32] }):$i2, (imm:{ *:[i32] }):$i3, (imm:{ *:[i32] }):$i4, (imm:{ *:[i32] }):$i5, (imm:{ *:[i32] }):$i6, (imm:{ *:[i32] }):$i7)
30304/* 60497*/ /*Scope*/ 47, /*->60545*/
30305/* 60498*/ OPC_MoveParent,
30306/* 60499*/ OPC_RecordChild1, // #1 = $i1
30307/* 60500*/ OPC_MoveChild1,
30308/* 60501*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30309/* 60504*/ OPC_CheckType, MVT::i32,
30310/* 60506*/ OPC_MoveParent,
30311/* 60507*/ OPC_RecordChild2, // #2 = $i2
30312/* 60508*/ OPC_MoveChild2,
30313/* 60509*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30314/* 60512*/ OPC_CheckType, MVT::i32,
30315/* 60514*/ OPC_MoveParent,
30316/* 60515*/ OPC_RecordChild3, // #3 = $i3
30317/* 60516*/ OPC_MoveChild3,
30318/* 60517*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30319/* 60520*/ OPC_CheckType, MVT::i32,
30320/* 60522*/ OPC_MoveParent,
30321/* 60523*/ OPC_CheckType, MVT::v4i32,
30322/* 60525*/ OPC_CheckPatternPredicate, 17, // (Subtarget->hasUnimplementedSIMD128())
30323/* 60527*/ OPC_EmitConvertToTarget, 0,
30324/* 60529*/ OPC_EmitConvertToTarget, 1,
30325/* 60531*/ OPC_EmitConvertToTarget, 2,
30326/* 60533*/ OPC_EmitConvertToTarget, 3,
30327/* 60535*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_I32x4), 0,
30328 MVT::v4i32, 4/*#Ops*/, 4, 5, 6, 7,
30329 // Src: (build_vector:{ *:[v4i32] } (imm:{ *:[i32] }):$i0, (imm:{ *:[i32] }):$i1, (imm:{ *:[i32] }):$i2, (imm:{ *:[i32] }):$i3) - Complexity = 15
30330 // Dst: (CONST_V128_I32x4:{ *:[v4i32] } (imm:{ *:[i32] }):$i0, (imm:{ *:[i32] }):$i1, (imm:{ *:[i32] }):$i2, (imm:{ *:[i32] }):$i3)
30331/* 60545*/ 0, /*End of Scope*/
30332/* 60546*/ /*SwitchType*/ 25, MVT::i64,// ->60573
30333/* 60548*/ OPC_MoveParent,
30334/* 60549*/ OPC_RecordChild1, // #1 = $i1
30335/* 60550*/ OPC_MoveChild1,
30336/* 60551*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30337/* 60554*/ OPC_CheckType, MVT::i64,
30338/* 60556*/ OPC_MoveParent,
30339/* 60557*/ OPC_CheckType, MVT::v2i64,
30340/* 60559*/ OPC_CheckPatternPredicate, 17, // (Subtarget->hasUnimplementedSIMD128())
30341/* 60561*/ OPC_EmitConvertToTarget, 0,
30342/* 60563*/ OPC_EmitConvertToTarget, 1,
30343/* 60565*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_I64x2), 0,
30344 MVT::v2i64, 2/*#Ops*/, 2, 3,
30345 // Src: (build_vector:{ *:[v2i64] } (imm:{ *:[i64] }):$i0, (imm:{ *:[i64] }):$i1) - Complexity = 9
30346 // Dst: (CONST_V128_I64x2:{ *:[v2i64] } (imm:{ *:[i64] }):$i0, (imm:{ *:[i64] }):$i1)
30347/* 60573*/ 0, // EndSwitchType
30348/* 60574*/ /*Scope*/ 105, /*->60680*/
30349/* 60575*/ OPC_CheckChild0Type, MVT::i32,
30350/* 60577*/ OPC_CheckChild1Same, 0,
30351/* 60579*/ OPC_CheckChild2Same, 0,
30352/* 60581*/ OPC_CheckChild3Same, 0,
30353/* 60583*/ OPC_Scope, 82, /*->60667*/ // 2 children in Scope
30354/* 60585*/ OPC_MoveChild4,
30355/* 60586*/ OPC_CheckSame, 0,
30356/* 60588*/ OPC_MoveParent,
30357/* 60589*/ OPC_MoveChild5,
30358/* 60590*/ OPC_CheckSame, 0,
30359/* 60592*/ OPC_MoveParent,
30360/* 60593*/ OPC_MoveChild6,
30361/* 60594*/ OPC_CheckSame, 0,
30362/* 60596*/ OPC_MoveParent,
30363/* 60597*/ OPC_MoveChild7,
30364/* 60598*/ OPC_CheckSame, 0,
30365/* 60600*/ OPC_MoveParent,
30366/* 60601*/ OPC_Scope, 51, /*->60654*/ // 2 children in Scope
30367/* 60603*/ OPC_MoveChild, 8,
30368/* 60605*/ OPC_CheckSame, 0,
30369/* 60607*/ OPC_MoveParent,
30370/* 60608*/ OPC_MoveChild, 9,
30371/* 60610*/ OPC_CheckSame, 0,
30372/* 60612*/ OPC_MoveParent,
30373/* 60613*/ OPC_MoveChild, 10,
30374/* 60615*/ OPC_CheckSame, 0,
30375/* 60617*/ OPC_MoveParent,
30376/* 60618*/ OPC_MoveChild, 11,
30377/* 60620*/ OPC_CheckSame, 0,
30378/* 60622*/ OPC_MoveParent,
30379/* 60623*/ OPC_MoveChild, 12,
30380/* 60625*/ OPC_CheckSame, 0,
30381/* 60627*/ OPC_MoveParent,
30382/* 60628*/ OPC_MoveChild, 13,
30383/* 60630*/ OPC_CheckSame, 0,
30384/* 60632*/ OPC_MoveParent,
30385/* 60633*/ OPC_MoveChild, 14,
30386/* 60635*/ OPC_CheckSame, 0,
30387/* 60637*/ OPC_MoveParent,
30388/* 60638*/ OPC_MoveChild, 15,
30389/* 60640*/ OPC_CheckSame, 0,
30390/* 60642*/ OPC_MoveParent,
30391/* 60643*/ OPC_CheckType, MVT::v16i8,
30392/* 60645*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
30393/* 60647*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_I8x16), 0,
30394 MVT::v16i8, 1/*#Ops*/, 0,
30395 // Src: (build_vector:{ *:[v16i8] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x) - Complexity = 3
30396 // Dst: (SPLAT_I8x16:{ *:[v16i8] } I32:{ *:[i32] }:$x)
30397/* 60654*/ /*Scope*/ 11, /*->60666*/
30398/* 60655*/ OPC_CheckType, MVT::v8i16,
30399/* 60657*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
30400/* 60659*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_I16x8), 0,
30401 MVT::v8i16, 1/*#Ops*/, 0,
30402 // Src: (build_vector:{ *:[v8i16] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x) - Complexity = 3
30403 // Dst: (SPLAT_I16x8:{ *:[v8i16] } I32:{ *:[i32] }:$x)
30404/* 60666*/ 0, /*End of Scope*/
30405/* 60667*/ /*Scope*/ 11, /*->60679*/
30406/* 60668*/ OPC_CheckType, MVT::v4i32,
30407/* 60670*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
30408/* 60672*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
30409 MVT::v4i32, 1/*#Ops*/, 0,
30410 // Src: (build_vector:{ *:[v4i32] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x) - Complexity = 3
30411 // Dst: (SPLAT_I32x4:{ *:[v4i32] } I32:{ *:[i32] }:$x)
30412/* 60679*/ 0, /*End of Scope*/
30413/* 60680*/ /*Scope*/ 15, /*->60696*/
30414/* 60681*/ OPC_CheckChild0Type, MVT::i64,
30415/* 60683*/ OPC_CheckChild1Same, 0,
30416/* 60685*/ OPC_CheckType, MVT::v2i64,
30417/* 60687*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
30418/* 60689*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_I64x2), 0,
30419 MVT::v2i64, 1/*#Ops*/, 0,
30420 // Src: (build_vector:{ *:[v2i64] } I64:{ *:[i64] }:$x, I64:{ *:[i64] }:$x) - Complexity = 3
30421 // Dst: (SPLAT_I64x2:{ *:[v2i64] } I64:{ *:[i64] }:$x)
30422/* 60696*/ /*Scope*/ 82, /*->60779*/
30423/* 60697*/ OPC_MoveChild0,
30424/* 60698*/ OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
30425/* 60701*/ OPC_SwitchType /*2 cases */, 47, MVT::f32,// ->60751
30426/* 60704*/ OPC_MoveParent,
30427/* 60705*/ OPC_RecordChild1, // #1 = $i1
30428/* 60706*/ OPC_MoveChild1,
30429/* 60707*/ OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
30430/* 60710*/ OPC_CheckType, MVT::f32,
30431/* 60712*/ OPC_MoveParent,
30432/* 60713*/ OPC_RecordChild2, // #2 = $i2
30433/* 60714*/ OPC_MoveChild2,
30434/* 60715*/ OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
30435/* 60718*/ OPC_CheckType, MVT::f32,
30436/* 60720*/ OPC_MoveParent,
30437/* 60721*/ OPC_RecordChild3, // #3 = $i3
30438/* 60722*/ OPC_MoveChild3,
30439/* 60723*/ OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
30440/* 60726*/ OPC_CheckType, MVT::f32,
30441/* 60728*/ OPC_MoveParent,
30442/* 60729*/ OPC_CheckType, MVT::v4f32,
30443/* 60731*/ OPC_CheckPatternPredicate, 17, // (Subtarget->hasUnimplementedSIMD128())
30444/* 60733*/ OPC_EmitConvertToTarget, 0,
30445/* 60735*/ OPC_EmitConvertToTarget, 1,
30446/* 60737*/ OPC_EmitConvertToTarget, 2,
30447/* 60739*/ OPC_EmitConvertToTarget, 3,
30448/* 60741*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_F32x4), 0,
30449 MVT::v4f32, 4/*#Ops*/, 4, 5, 6, 7,
30450 // Src: (build_vector:{ *:[v4f32] } (fpimm:{ *:[f32] }):$i0, (fpimm:{ *:[f32] }):$i1, (fpimm:{ *:[f32] }):$i2, (fpimm:{ *:[f32] }):$i3) - Complexity = 15
30451 // Dst: (CONST_V128_F32x4:{ *:[v4f32] } (fpimm:{ *:[f32] }):$i0, (fpimm:{ *:[f32] }):$i1, (fpimm:{ *:[f32] }):$i2, (fpimm:{ *:[f32] }):$i3)
30452/* 60751*/ /*SwitchType*/ 25, MVT::f64,// ->60778
30453/* 60753*/ OPC_MoveParent,
30454/* 60754*/ OPC_RecordChild1, // #1 = $i1
30455/* 60755*/ OPC_MoveChild1,
30456/* 60756*/ OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
30457/* 60759*/ OPC_CheckType, MVT::f64,
30458/* 60761*/ OPC_MoveParent,
30459/* 60762*/ OPC_CheckType, MVT::v2f64,
30460/* 60764*/ OPC_CheckPatternPredicate, 17, // (Subtarget->hasUnimplementedSIMD128())
30461/* 60766*/ OPC_EmitConvertToTarget, 0,
30462/* 60768*/ OPC_EmitConvertToTarget, 1,
30463/* 60770*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_F64x2), 0,
30464 MVT::v2f64, 2/*#Ops*/, 2, 3,
30465 // Src: (build_vector:{ *:[v2f64] } (fpimm:{ *:[f64] }):$i0, (fpimm:{ *:[f64] }):$i1) - Complexity = 9
30466 // Dst: (CONST_V128_F64x2:{ *:[v2f64] } (fpimm:{ *:[f64] }):$i0, (fpimm:{ *:[f64] }):$i1)
30467/* 60778*/ 0, // EndSwitchType
30468/* 60779*/ /*Scope*/ 19, /*->60799*/
30469/* 60780*/ OPC_CheckChild0Type, MVT::f32,
30470/* 60782*/ OPC_CheckChild1Same, 0,
30471/* 60784*/ OPC_CheckChild2Same, 0,
30472/* 60786*/ OPC_CheckChild3Same, 0,
30473/* 60788*/ OPC_CheckType, MVT::v4f32,
30474/* 60790*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
30475/* 60792*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_F32x4), 0,
30476 MVT::v4f32, 1/*#Ops*/, 0,
30477 // Src: (build_vector:{ *:[v4f32] } F32:{ *:[f32] }:$x, F32:{ *:[f32] }:$x, F32:{ *:[f32] }:$x, F32:{ *:[f32] }:$x) - Complexity = 3
30478 // Dst: (SPLAT_F32x4:{ *:[v4f32] } F32:{ *:[f32] }:$x)
30479/* 60799*/ /*Scope*/ 15, /*->60815*/
30480/* 60800*/ OPC_CheckChild0Type, MVT::f64,
30481/* 60802*/ OPC_CheckChild1Same, 0,
30482/* 60804*/ OPC_CheckType, MVT::v2f64,
30483/* 60806*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
30484/* 60808*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_F64x2), 0,
30485 MVT::v2f64, 1/*#Ops*/, 0,
30486 // Src: (build_vector:{ *:[v2f64] } F64:{ *:[f64] }:$x, F64:{ *:[f64] }:$x) - Complexity = 3
30487 // Dst: (SPLAT_F64x2:{ *:[v2f64] } F64:{ *:[f64] }:$x)
30488/* 60815*/ 0, /*End of Scope*/
30489/* 60816*/ /*SwitchOpcode*/ 5|128,11/*1413*/, TARGET_VAL(WebAssemblyISD::SHUFFLE),// ->62233
30490/* 60820*/ OPC_RecordChild0, // #0 = $x
30491/* 60821*/ OPC_Scope, 105|128,1/*233*/, /*->61057*/ // 6 children in Scope
30492/* 60824*/ OPC_CheckChild0Type, MVT::v16i8,
30493/* 60826*/ OPC_RecordChild1, // #1 = $y
30494/* 60827*/ OPC_CheckChild1Type, MVT::v16i8,
30495/* 60829*/ OPC_RecordChild2, // #2 = $m0
30496/* 60830*/ OPC_MoveChild2,
30497/* 60831*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30498/* 60834*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30499/* 60836*/ OPC_CheckType, MVT::i32,
30500/* 60838*/ OPC_MoveParent,
30501/* 60839*/ OPC_RecordChild3, // #3 = $m1
30502/* 60840*/ OPC_MoveChild3,
30503/* 60841*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30504/* 60844*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30505/* 60846*/ OPC_CheckType, MVT::i32,
30506/* 60848*/ OPC_MoveParent,
30507/* 60849*/ OPC_RecordChild4, // #4 = $m2
30508/* 60850*/ OPC_MoveChild4,
30509/* 60851*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30510/* 60854*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30511/* 60856*/ OPC_CheckType, MVT::i32,
30512/* 60858*/ OPC_MoveParent,
30513/* 60859*/ OPC_RecordChild5, // #5 = $m3
30514/* 60860*/ OPC_MoveChild5,
30515/* 60861*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30516/* 60864*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30517/* 60866*/ OPC_CheckType, MVT::i32,
30518/* 60868*/ OPC_MoveParent,
30519/* 60869*/ OPC_RecordChild6, // #6 = $m4
30520/* 60870*/ OPC_MoveChild6,
30521/* 60871*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30522/* 60874*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30523/* 60876*/ OPC_CheckType, MVT::i32,
30524/* 60878*/ OPC_MoveParent,
30525/* 60879*/ OPC_RecordChild7, // #7 = $m5
30526/* 60880*/ OPC_MoveChild7,
30527/* 60881*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30528/* 60884*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30529/* 60886*/ OPC_CheckType, MVT::i32,
30530/* 60888*/ OPC_MoveParent,
30531/* 60889*/ OPC_MoveChild, 8,
30532/* 60891*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30533/* 60894*/ OPC_RecordNode, // #8 = $m6
30534/* 60895*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30535/* 60897*/ OPC_CheckType, MVT::i32,
30536/* 60899*/ OPC_MoveParent,
30537/* 60900*/ OPC_MoveChild, 9,
30538/* 60902*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30539/* 60905*/ OPC_RecordNode, // #9 = $m7
30540/* 60906*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30541/* 60908*/ OPC_CheckType, MVT::i32,
30542/* 60910*/ OPC_MoveParent,
30543/* 60911*/ OPC_MoveChild, 10,
30544/* 60913*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30545/* 60916*/ OPC_RecordNode, // #10 = $m8
30546/* 60917*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30547/* 60919*/ OPC_CheckType, MVT::i32,
30548/* 60921*/ OPC_MoveParent,
30549/* 60922*/ OPC_MoveChild, 11,
30550/* 60924*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30551/* 60927*/ OPC_RecordNode, // #11 = $m9
30552/* 60928*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30553/* 60930*/ OPC_CheckType, MVT::i32,
30554/* 60932*/ OPC_MoveParent,
30555/* 60933*/ OPC_MoveChild, 12,
30556/* 60935*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30557/* 60938*/ OPC_RecordNode, // #12 = $mA
30558/* 60939*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30559/* 60941*/ OPC_CheckType, MVT::i32,
30560/* 60943*/ OPC_MoveParent,
30561/* 60944*/ OPC_MoveChild, 13,
30562/* 60946*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30563/* 60949*/ OPC_RecordNode, // #13 = $mB
30564/* 60950*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30565/* 60952*/ OPC_CheckType, MVT::i32,
30566/* 60954*/ OPC_MoveParent,
30567/* 60955*/ OPC_MoveChild, 14,
30568/* 60957*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30569/* 60960*/ OPC_RecordNode, // #14 = $mC
30570/* 60961*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30571/* 60963*/ OPC_CheckType, MVT::i32,
30572/* 60965*/ OPC_MoveParent,
30573/* 60966*/ OPC_MoveChild, 15,
30574/* 60968*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30575/* 60971*/ OPC_RecordNode, // #15 = $mD
30576/* 60972*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30577/* 60974*/ OPC_CheckType, MVT::i32,
30578/* 60976*/ OPC_MoveParent,
30579/* 60977*/ OPC_MoveChild, 16,
30580/* 60979*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30581/* 60982*/ OPC_RecordNode, // #16 = $mE
30582/* 60983*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30583/* 60985*/ OPC_CheckType, MVT::i32,
30584/* 60987*/ OPC_MoveParent,
30585/* 60988*/ OPC_MoveChild, 17,
30586/* 60990*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30587/* 60993*/ OPC_RecordNode, // #17 = $mF
30588/* 60994*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30589/* 60996*/ OPC_CheckType, MVT::i32,
30590/* 60998*/ OPC_MoveParent,
30591/* 60999*/ OPC_CheckType, MVT::v16i8,
30592/* 61001*/ OPC_EmitConvertToTarget, 2,
30593/* 61003*/ OPC_EmitConvertToTarget, 3,
30594/* 61005*/ OPC_EmitConvertToTarget, 4,
30595/* 61007*/ OPC_EmitConvertToTarget, 5,
30596/* 61009*/ OPC_EmitConvertToTarget, 6,
30597/* 61011*/ OPC_EmitConvertToTarget, 7,
30598/* 61013*/ OPC_EmitConvertToTarget, 8,
30599/* 61015*/ OPC_EmitConvertToTarget, 9,
30600/* 61017*/ OPC_EmitConvertToTarget, 10,
30601/* 61019*/ OPC_EmitConvertToTarget, 11,
30602/* 61021*/ OPC_EmitConvertToTarget, 12,
30603/* 61023*/ OPC_EmitConvertToTarget, 13,
30604/* 61025*/ OPC_EmitConvertToTarget, 14,
30605/* 61027*/ OPC_EmitConvertToTarget, 15,
30606/* 61029*/ OPC_EmitConvertToTarget, 16,
30607/* 61031*/ OPC_EmitConvertToTarget, 17,
30608/* 61033*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE), 0,
30609 MVT::v16i8, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
30610 // Src: (wasm_shuffle:{ *:[v16i8] } V128:{ *:[v16i8] }:$x, V128:{ *:[v16i8] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
30611 // Dst: (SHUFFLE:{ *:[v16i8] } ?:{ *:[v16i8] }:$x, ?:{ *:[v16i8] }:$y, (imm:{ *:[i32] }):$m0, (imm:{ *:[i32] }):$m1, (imm:{ *:[i32] }):$m2, (imm:{ *:[i32] }):$m3, (imm:{ *:[i32] }):$m4, (imm:{ *:[i32] }):$m5, (imm:{ *:[i32] }):$m6, (imm:{ *:[i32] }):$m7, (imm:{ *:[i32] }):$m8, (imm:{ *:[i32] }):$m9, (imm:{ *:[i32] }):$mA, (imm:{ *:[i32] }):$mB, (imm:{ *:[i32] }):$mC, (imm:{ *:[i32] }):$mD, (imm:{ *:[i32] }):$mE, (imm:{ *:[i32] }):$mF)
30612/* 61057*/ /*Scope*/ 105|128,1/*233*/, /*->61292*/
30613/* 61059*/ OPC_CheckChild0Type, MVT::v8i16,
30614/* 61061*/ OPC_RecordChild1, // #1 = $y
30615/* 61062*/ OPC_CheckChild1Type, MVT::v8i16,
30616/* 61064*/ OPC_RecordChild2, // #2 = $m0
30617/* 61065*/ OPC_MoveChild2,
30618/* 61066*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30619/* 61069*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30620/* 61071*/ OPC_CheckType, MVT::i32,
30621/* 61073*/ OPC_MoveParent,
30622/* 61074*/ OPC_RecordChild3, // #3 = $m1
30623/* 61075*/ OPC_MoveChild3,
30624/* 61076*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30625/* 61079*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30626/* 61081*/ OPC_CheckType, MVT::i32,
30627/* 61083*/ OPC_MoveParent,
30628/* 61084*/ OPC_RecordChild4, // #4 = $m2
30629/* 61085*/ OPC_MoveChild4,
30630/* 61086*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30631/* 61089*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30632/* 61091*/ OPC_CheckType, MVT::i32,
30633/* 61093*/ OPC_MoveParent,
30634/* 61094*/ OPC_RecordChild5, // #5 = $m3
30635/* 61095*/ OPC_MoveChild5,
30636/* 61096*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30637/* 61099*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30638/* 61101*/ OPC_CheckType, MVT::i32,
30639/* 61103*/ OPC_MoveParent,
30640/* 61104*/ OPC_RecordChild6, // #6 = $m4
30641/* 61105*/ OPC_MoveChild6,
30642/* 61106*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30643/* 61109*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30644/* 61111*/ OPC_CheckType, MVT::i32,
30645/* 61113*/ OPC_MoveParent,
30646/* 61114*/ OPC_RecordChild7, // #7 = $m5
30647/* 61115*/ OPC_MoveChild7,
30648/* 61116*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30649/* 61119*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30650/* 61121*/ OPC_CheckType, MVT::i32,
30651/* 61123*/ OPC_MoveParent,
30652/* 61124*/ OPC_MoveChild, 8,
30653/* 61126*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30654/* 61129*/ OPC_RecordNode, // #8 = $m6
30655/* 61130*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30656/* 61132*/ OPC_CheckType, MVT::i32,
30657/* 61134*/ OPC_MoveParent,
30658/* 61135*/ OPC_MoveChild, 9,
30659/* 61137*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30660/* 61140*/ OPC_RecordNode, // #9 = $m7
30661/* 61141*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30662/* 61143*/ OPC_CheckType, MVT::i32,
30663/* 61145*/ OPC_MoveParent,
30664/* 61146*/ OPC_MoveChild, 10,
30665/* 61148*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30666/* 61151*/ OPC_RecordNode, // #10 = $m8
30667/* 61152*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30668/* 61154*/ OPC_CheckType, MVT::i32,
30669/* 61156*/ OPC_MoveParent,
30670/* 61157*/ OPC_MoveChild, 11,
30671/* 61159*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30672/* 61162*/ OPC_RecordNode, // #11 = $m9
30673/* 61163*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30674/* 61165*/ OPC_CheckType, MVT::i32,
30675/* 61167*/ OPC_MoveParent,
30676/* 61168*/ OPC_MoveChild, 12,
30677/* 61170*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30678/* 61173*/ OPC_RecordNode, // #12 = $mA
30679/* 61174*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30680/* 61176*/ OPC_CheckType, MVT::i32,
30681/* 61178*/ OPC_MoveParent,
30682/* 61179*/ OPC_MoveChild, 13,
30683/* 61181*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30684/* 61184*/ OPC_RecordNode, // #13 = $mB
30685/* 61185*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30686/* 61187*/ OPC_CheckType, MVT::i32,
30687/* 61189*/ OPC_MoveParent,
30688/* 61190*/ OPC_MoveChild, 14,
30689/* 61192*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30690/* 61195*/ OPC_RecordNode, // #14 = $mC
30691/* 61196*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30692/* 61198*/ OPC_CheckType, MVT::i32,
30693/* 61200*/ OPC_MoveParent,
30694/* 61201*/ OPC_MoveChild, 15,
30695/* 61203*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30696/* 61206*/ OPC_RecordNode, // #15 = $mD
30697/* 61207*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30698/* 61209*/ OPC_CheckType, MVT::i32,
30699/* 61211*/ OPC_MoveParent,
30700/* 61212*/ OPC_MoveChild, 16,
30701/* 61214*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30702/* 61217*/ OPC_RecordNode, // #16 = $mE
30703/* 61218*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30704/* 61220*/ OPC_CheckType, MVT::i32,
30705/* 61222*/ OPC_MoveParent,
30706/* 61223*/ OPC_MoveChild, 17,
30707/* 61225*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30708/* 61228*/ OPC_RecordNode, // #17 = $mF
30709/* 61229*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30710/* 61231*/ OPC_CheckType, MVT::i32,
30711/* 61233*/ OPC_MoveParent,
30712/* 61234*/ OPC_CheckType, MVT::v8i16,
30713/* 61236*/ OPC_EmitConvertToTarget, 2,
30714/* 61238*/ OPC_EmitConvertToTarget, 3,
30715/* 61240*/ OPC_EmitConvertToTarget, 4,
30716/* 61242*/ OPC_EmitConvertToTarget, 5,
30717/* 61244*/ OPC_EmitConvertToTarget, 6,
30718/* 61246*/ OPC_EmitConvertToTarget, 7,
30719/* 61248*/ OPC_EmitConvertToTarget, 8,
30720/* 61250*/ OPC_EmitConvertToTarget, 9,
30721/* 61252*/ OPC_EmitConvertToTarget, 10,
30722/* 61254*/ OPC_EmitConvertToTarget, 11,
30723/* 61256*/ OPC_EmitConvertToTarget, 12,
30724/* 61258*/ OPC_EmitConvertToTarget, 13,
30725/* 61260*/ OPC_EmitConvertToTarget, 14,
30726/* 61262*/ OPC_EmitConvertToTarget, 15,
30727/* 61264*/ OPC_EmitConvertToTarget, 16,
30728/* 61266*/ OPC_EmitConvertToTarget, 17,
30729/* 61268*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE), 0,
30730 MVT::v8i16, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
30731 // Src: (wasm_shuffle:{ *:[v8i16] } V128:{ *:[v8i16] }:$x, V128:{ *:[v8i16] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
30732 // Dst: (SHUFFLE:{ *:[v8i16] } ?:{ *:[v8i16] }:$x, ?:{ *:[v8i16] }:$y, (imm:{ *:[i32] }):$m0, (imm:{ *:[i32] }):$m1, (imm:{ *:[i32] }):$m2, (imm:{ *:[i32] }):$m3, (imm:{ *:[i32] }):$m4, (imm:{ *:[i32] }):$m5, (imm:{ *:[i32] }):$m6, (imm:{ *:[i32] }):$m7, (imm:{ *:[i32] }):$m8, (imm:{ *:[i32] }):$m9, (imm:{ *:[i32] }):$mA, (imm:{ *:[i32] }):$mB, (imm:{ *:[i32] }):$mC, (imm:{ *:[i32] }):$mD, (imm:{ *:[i32] }):$mE, (imm:{ *:[i32] }):$mF)
30733/* 61292*/ /*Scope*/ 105|128,1/*233*/, /*->61527*/
30734/* 61294*/ OPC_CheckChild0Type, MVT::v4i32,
30735/* 61296*/ OPC_RecordChild1, // #1 = $y
30736/* 61297*/ OPC_CheckChild1Type, MVT::v4i32,
30737/* 61299*/ OPC_RecordChild2, // #2 = $m0
30738/* 61300*/ OPC_MoveChild2,
30739/* 61301*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30740/* 61304*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30741/* 61306*/ OPC_CheckType, MVT::i32,
30742/* 61308*/ OPC_MoveParent,
30743/* 61309*/ OPC_RecordChild3, // #3 = $m1
30744/* 61310*/ OPC_MoveChild3,
30745/* 61311*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30746/* 61314*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30747/* 61316*/ OPC_CheckType, MVT::i32,
30748/* 61318*/ OPC_MoveParent,
30749/* 61319*/ OPC_RecordChild4, // #4 = $m2
30750/* 61320*/ OPC_MoveChild4,
30751/* 61321*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30752/* 61324*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30753/* 61326*/ OPC_CheckType, MVT::i32,
30754/* 61328*/ OPC_MoveParent,
30755/* 61329*/ OPC_RecordChild5, // #5 = $m3
30756/* 61330*/ OPC_MoveChild5,
30757/* 61331*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30758/* 61334*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30759/* 61336*/ OPC_CheckType, MVT::i32,
30760/* 61338*/ OPC_MoveParent,
30761/* 61339*/ OPC_RecordChild6, // #6 = $m4
30762/* 61340*/ OPC_MoveChild6,
30763/* 61341*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30764/* 61344*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30765/* 61346*/ OPC_CheckType, MVT::i32,
30766/* 61348*/ OPC_MoveParent,
30767/* 61349*/ OPC_RecordChild7, // #7 = $m5
30768/* 61350*/ OPC_MoveChild7,
30769/* 61351*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30770/* 61354*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30771/* 61356*/ OPC_CheckType, MVT::i32,
30772/* 61358*/ OPC_MoveParent,
30773/* 61359*/ OPC_MoveChild, 8,
30774/* 61361*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30775/* 61364*/ OPC_RecordNode, // #8 = $m6
30776/* 61365*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30777/* 61367*/ OPC_CheckType, MVT::i32,
30778/* 61369*/ OPC_MoveParent,
30779/* 61370*/ OPC_MoveChild, 9,
30780/* 61372*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30781/* 61375*/ OPC_RecordNode, // #9 = $m7
30782/* 61376*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30783/* 61378*/ OPC_CheckType, MVT::i32,
30784/* 61380*/ OPC_MoveParent,
30785/* 61381*/ OPC_MoveChild, 10,
30786/* 61383*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30787/* 61386*/ OPC_RecordNode, // #10 = $m8
30788/* 61387*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30789/* 61389*/ OPC_CheckType, MVT::i32,
30790/* 61391*/ OPC_MoveParent,
30791/* 61392*/ OPC_MoveChild, 11,
30792/* 61394*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30793/* 61397*/ OPC_RecordNode, // #11 = $m9
30794/* 61398*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30795/* 61400*/ OPC_CheckType, MVT::i32,
30796/* 61402*/ OPC_MoveParent,
30797/* 61403*/ OPC_MoveChild, 12,
30798/* 61405*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30799/* 61408*/ OPC_RecordNode, // #12 = $mA
30800/* 61409*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30801/* 61411*/ OPC_CheckType, MVT::i32,
30802/* 61413*/ OPC_MoveParent,
30803/* 61414*/ OPC_MoveChild, 13,
30804/* 61416*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30805/* 61419*/ OPC_RecordNode, // #13 = $mB
30806/* 61420*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30807/* 61422*/ OPC_CheckType, MVT::i32,
30808/* 61424*/ OPC_MoveParent,
30809/* 61425*/ OPC_MoveChild, 14,
30810/* 61427*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30811/* 61430*/ OPC_RecordNode, // #14 = $mC
30812/* 61431*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30813/* 61433*/ OPC_CheckType, MVT::i32,
30814/* 61435*/ OPC_MoveParent,
30815/* 61436*/ OPC_MoveChild, 15,
30816/* 61438*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30817/* 61441*/ OPC_RecordNode, // #15 = $mD
30818/* 61442*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30819/* 61444*/ OPC_CheckType, MVT::i32,
30820/* 61446*/ OPC_MoveParent,
30821/* 61447*/ OPC_MoveChild, 16,
30822/* 61449*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30823/* 61452*/ OPC_RecordNode, // #16 = $mE
30824/* 61453*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30825/* 61455*/ OPC_CheckType, MVT::i32,
30826/* 61457*/ OPC_MoveParent,
30827/* 61458*/ OPC_MoveChild, 17,
30828/* 61460*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30829/* 61463*/ OPC_RecordNode, // #17 = $mF
30830/* 61464*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30831/* 61466*/ OPC_CheckType, MVT::i32,
30832/* 61468*/ OPC_MoveParent,
30833/* 61469*/ OPC_CheckType, MVT::v4i32,
30834/* 61471*/ OPC_EmitConvertToTarget, 2,
30835/* 61473*/ OPC_EmitConvertToTarget, 3,
30836/* 61475*/ OPC_EmitConvertToTarget, 4,
30837/* 61477*/ OPC_EmitConvertToTarget, 5,
30838/* 61479*/ OPC_EmitConvertToTarget, 6,
30839/* 61481*/ OPC_EmitConvertToTarget, 7,
30840/* 61483*/ OPC_EmitConvertToTarget, 8,
30841/* 61485*/ OPC_EmitConvertToTarget, 9,
30842/* 61487*/ OPC_EmitConvertToTarget, 10,
30843/* 61489*/ OPC_EmitConvertToTarget, 11,
30844/* 61491*/ OPC_EmitConvertToTarget, 12,
30845/* 61493*/ OPC_EmitConvertToTarget, 13,
30846/* 61495*/ OPC_EmitConvertToTarget, 14,
30847/* 61497*/ OPC_EmitConvertToTarget, 15,
30848/* 61499*/ OPC_EmitConvertToTarget, 16,
30849/* 61501*/ OPC_EmitConvertToTarget, 17,
30850/* 61503*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE), 0,
30851 MVT::v4i32, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
30852 // Src: (wasm_shuffle:{ *:[v4i32] } V128:{ *:[v4i32] }:$x, V128:{ *:[v4i32] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
30853 // Dst: (SHUFFLE:{ *:[v4i32] } ?:{ *:[v4i32] }:$x, ?:{ *:[v4i32] }:$y, (imm:{ *:[i32] }):$m0, (imm:{ *:[i32] }):$m1, (imm:{ *:[i32] }):$m2, (imm:{ *:[i32] }):$m3, (imm:{ *:[i32] }):$m4, (imm:{ *:[i32] }):$m5, (imm:{ *:[i32] }):$m6, (imm:{ *:[i32] }):$m7, (imm:{ *:[i32] }):$m8, (imm:{ *:[i32] }):$m9, (imm:{ *:[i32] }):$mA, (imm:{ *:[i32] }):$mB, (imm:{ *:[i32] }):$mC, (imm:{ *:[i32] }):$mD, (imm:{ *:[i32] }):$mE, (imm:{ *:[i32] }):$mF)
30854/* 61527*/ /*Scope*/ 105|128,1/*233*/, /*->61762*/
30855/* 61529*/ OPC_CheckChild0Type, MVT::v2i64,
30856/* 61531*/ OPC_RecordChild1, // #1 = $y
30857/* 61532*/ OPC_CheckChild1Type, MVT::v2i64,
30858/* 61534*/ OPC_RecordChild2, // #2 = $m0
30859/* 61535*/ OPC_MoveChild2,
30860/* 61536*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30861/* 61539*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30862/* 61541*/ OPC_CheckType, MVT::i32,
30863/* 61543*/ OPC_MoveParent,
30864/* 61544*/ OPC_RecordChild3, // #3 = $m1
30865/* 61545*/ OPC_MoveChild3,
30866/* 61546*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30867/* 61549*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30868/* 61551*/ OPC_CheckType, MVT::i32,
30869/* 61553*/ OPC_MoveParent,
30870/* 61554*/ OPC_RecordChild4, // #4 = $m2
30871/* 61555*/ OPC_MoveChild4,
30872/* 61556*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30873/* 61559*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30874/* 61561*/ OPC_CheckType, MVT::i32,
30875/* 61563*/ OPC_MoveParent,
30876/* 61564*/ OPC_RecordChild5, // #5 = $m3
30877/* 61565*/ OPC_MoveChild5,
30878/* 61566*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30879/* 61569*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30880/* 61571*/ OPC_CheckType, MVT::i32,
30881/* 61573*/ OPC_MoveParent,
30882/* 61574*/ OPC_RecordChild6, // #6 = $m4
30883/* 61575*/ OPC_MoveChild6,
30884/* 61576*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30885/* 61579*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30886/* 61581*/ OPC_CheckType, MVT::i32,
30887/* 61583*/ OPC_MoveParent,
30888/* 61584*/ OPC_RecordChild7, // #7 = $m5
30889/* 61585*/ OPC_MoveChild7,
30890/* 61586*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30891/* 61589*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30892/* 61591*/ OPC_CheckType, MVT::i32,
30893/* 61593*/ OPC_MoveParent,
30894/* 61594*/ OPC_MoveChild, 8,
30895/* 61596*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30896/* 61599*/ OPC_RecordNode, // #8 = $m6
30897/* 61600*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30898/* 61602*/ OPC_CheckType, MVT::i32,
30899/* 61604*/ OPC_MoveParent,
30900/* 61605*/ OPC_MoveChild, 9,
30901/* 61607*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30902/* 61610*/ OPC_RecordNode, // #9 = $m7
30903/* 61611*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30904/* 61613*/ OPC_CheckType, MVT::i32,
30905/* 61615*/ OPC_MoveParent,
30906/* 61616*/ OPC_MoveChild, 10,
30907/* 61618*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30908/* 61621*/ OPC_RecordNode, // #10 = $m8
30909/* 61622*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30910/* 61624*/ OPC_CheckType, MVT::i32,
30911/* 61626*/ OPC_MoveParent,
30912/* 61627*/ OPC_MoveChild, 11,
30913/* 61629*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30914/* 61632*/ OPC_RecordNode, // #11 = $m9
30915/* 61633*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30916/* 61635*/ OPC_CheckType, MVT::i32,
30917/* 61637*/ OPC_MoveParent,
30918/* 61638*/ OPC_MoveChild, 12,
30919/* 61640*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30920/* 61643*/ OPC_RecordNode, // #12 = $mA
30921/* 61644*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30922/* 61646*/ OPC_CheckType, MVT::i32,
30923/* 61648*/ OPC_MoveParent,
30924/* 61649*/ OPC_MoveChild, 13,
30925/* 61651*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30926/* 61654*/ OPC_RecordNode, // #13 = $mB
30927/* 61655*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30928/* 61657*/ OPC_CheckType, MVT::i32,
30929/* 61659*/ OPC_MoveParent,
30930/* 61660*/ OPC_MoveChild, 14,
30931/* 61662*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30932/* 61665*/ OPC_RecordNode, // #14 = $mC
30933/* 61666*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30934/* 61668*/ OPC_CheckType, MVT::i32,
30935/* 61670*/ OPC_MoveParent,
30936/* 61671*/ OPC_MoveChild, 15,
30937/* 61673*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30938/* 61676*/ OPC_RecordNode, // #15 = $mD
30939/* 61677*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30940/* 61679*/ OPC_CheckType, MVT::i32,
30941/* 61681*/ OPC_MoveParent,
30942/* 61682*/ OPC_MoveChild, 16,
30943/* 61684*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30944/* 61687*/ OPC_RecordNode, // #16 = $mE
30945/* 61688*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30946/* 61690*/ OPC_CheckType, MVT::i32,
30947/* 61692*/ OPC_MoveParent,
30948/* 61693*/ OPC_MoveChild, 17,
30949/* 61695*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30950/* 61698*/ OPC_RecordNode, // #17 = $mF
30951/* 61699*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30952/* 61701*/ OPC_CheckType, MVT::i32,
30953/* 61703*/ OPC_MoveParent,
30954/* 61704*/ OPC_CheckType, MVT::v2i64,
30955/* 61706*/ OPC_EmitConvertToTarget, 2,
30956/* 61708*/ OPC_EmitConvertToTarget, 3,
30957/* 61710*/ OPC_EmitConvertToTarget, 4,
30958/* 61712*/ OPC_EmitConvertToTarget, 5,
30959/* 61714*/ OPC_EmitConvertToTarget, 6,
30960/* 61716*/ OPC_EmitConvertToTarget, 7,
30961/* 61718*/ OPC_EmitConvertToTarget, 8,
30962/* 61720*/ OPC_EmitConvertToTarget, 9,
30963/* 61722*/ OPC_EmitConvertToTarget, 10,
30964/* 61724*/ OPC_EmitConvertToTarget, 11,
30965/* 61726*/ OPC_EmitConvertToTarget, 12,
30966/* 61728*/ OPC_EmitConvertToTarget, 13,
30967/* 61730*/ OPC_EmitConvertToTarget, 14,
30968/* 61732*/ OPC_EmitConvertToTarget, 15,
30969/* 61734*/ OPC_EmitConvertToTarget, 16,
30970/* 61736*/ OPC_EmitConvertToTarget, 17,
30971/* 61738*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE), 0,
30972 MVT::v2i64, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
30973 // Src: (wasm_shuffle:{ *:[v2i64] } V128:{ *:[v2i64] }:$x, V128:{ *:[v2i64] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
30974 // Dst: (SHUFFLE:{ *:[v2i64] } ?:{ *:[v2i64] }:$x, ?:{ *:[v2i64] }:$y, (imm:{ *:[i32] }):$m0, (imm:{ *:[i32] }):$m1, (imm:{ *:[i32] }):$m2, (imm:{ *:[i32] }):$m3, (imm:{ *:[i32] }):$m4, (imm:{ *:[i32] }):$m5, (imm:{ *:[i32] }):$m6, (imm:{ *:[i32] }):$m7, (imm:{ *:[i32] }):$m8, (imm:{ *:[i32] }):$m9, (imm:{ *:[i32] }):$mA, (imm:{ *:[i32] }):$mB, (imm:{ *:[i32] }):$mC, (imm:{ *:[i32] }):$mD, (imm:{ *:[i32] }):$mE, (imm:{ *:[i32] }):$mF)
30975/* 61762*/ /*Scope*/ 105|128,1/*233*/, /*->61997*/
30976/* 61764*/ OPC_CheckChild0Type, MVT::v4f32,
30977/* 61766*/ OPC_RecordChild1, // #1 = $y
30978/* 61767*/ OPC_CheckChild1Type, MVT::v4f32,
30979/* 61769*/ OPC_RecordChild2, // #2 = $m0
30980/* 61770*/ OPC_MoveChild2,
30981/* 61771*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30982/* 61774*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30983/* 61776*/ OPC_CheckType, MVT::i32,
30984/* 61778*/ OPC_MoveParent,
30985/* 61779*/ OPC_RecordChild3, // #3 = $m1
30986/* 61780*/ OPC_MoveChild3,
30987/* 61781*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30988/* 61784*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30989/* 61786*/ OPC_CheckType, MVT::i32,
30990/* 61788*/ OPC_MoveParent,
30991/* 61789*/ OPC_RecordChild4, // #4 = $m2
30992/* 61790*/ OPC_MoveChild4,
30993/* 61791*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30994/* 61794*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
30995/* 61796*/ OPC_CheckType, MVT::i32,
30996/* 61798*/ OPC_MoveParent,
30997/* 61799*/ OPC_RecordChild5, // #5 = $m3
30998/* 61800*/ OPC_MoveChild5,
30999/* 61801*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31000/* 61804*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31001/* 61806*/ OPC_CheckType, MVT::i32,
31002/* 61808*/ OPC_MoveParent,
31003/* 61809*/ OPC_RecordChild6, // #6 = $m4
31004/* 61810*/ OPC_MoveChild6,
31005/* 61811*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31006/* 61814*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31007/* 61816*/ OPC_CheckType, MVT::i32,
31008/* 61818*/ OPC_MoveParent,
31009/* 61819*/ OPC_RecordChild7, // #7 = $m5
31010/* 61820*/ OPC_MoveChild7,
31011/* 61821*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31012/* 61824*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31013/* 61826*/ OPC_CheckType, MVT::i32,
31014/* 61828*/ OPC_MoveParent,
31015/* 61829*/ OPC_MoveChild, 8,
31016/* 61831*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31017/* 61834*/ OPC_RecordNode, // #8 = $m6
31018/* 61835*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31019/* 61837*/ OPC_CheckType, MVT::i32,
31020/* 61839*/ OPC_MoveParent,
31021/* 61840*/ OPC_MoveChild, 9,
31022/* 61842*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31023/* 61845*/ OPC_RecordNode, // #9 = $m7
31024/* 61846*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31025/* 61848*/ OPC_CheckType, MVT::i32,
31026/* 61850*/ OPC_MoveParent,
31027/* 61851*/ OPC_MoveChild, 10,
31028/* 61853*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31029/* 61856*/ OPC_RecordNode, // #10 = $m8
31030/* 61857*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31031/* 61859*/ OPC_CheckType, MVT::i32,
31032/* 61861*/ OPC_MoveParent,
31033/* 61862*/ OPC_MoveChild, 11,
31034/* 61864*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31035/* 61867*/ OPC_RecordNode, // #11 = $m9
31036/* 61868*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31037/* 61870*/ OPC_CheckType, MVT::i32,
31038/* 61872*/ OPC_MoveParent,
31039/* 61873*/ OPC_MoveChild, 12,
31040/* 61875*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31041/* 61878*/ OPC_RecordNode, // #12 = $mA
31042/* 61879*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31043/* 61881*/ OPC_CheckType, MVT::i32,
31044/* 61883*/ OPC_MoveParent,
31045/* 61884*/ OPC_MoveChild, 13,
31046/* 61886*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31047/* 61889*/ OPC_RecordNode, // #13 = $mB
31048/* 61890*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31049/* 61892*/ OPC_CheckType, MVT::i32,
31050/* 61894*/ OPC_MoveParent,
31051/* 61895*/ OPC_MoveChild, 14,
31052/* 61897*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31053/* 61900*/ OPC_RecordNode, // #14 = $mC
31054/* 61901*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31055/* 61903*/ OPC_CheckType, MVT::i32,
31056/* 61905*/ OPC_MoveParent,
31057/* 61906*/ OPC_MoveChild, 15,
31058/* 61908*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31059/* 61911*/ OPC_RecordNode, // #15 = $mD
31060/* 61912*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31061/* 61914*/ OPC_CheckType, MVT::i32,
31062/* 61916*/ OPC_MoveParent,
31063/* 61917*/ OPC_MoveChild, 16,
31064/* 61919*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31065/* 61922*/ OPC_RecordNode, // #16 = $mE
31066/* 61923*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31067/* 61925*/ OPC_CheckType, MVT::i32,
31068/* 61927*/ OPC_MoveParent,
31069/* 61928*/ OPC_MoveChild, 17,
31070/* 61930*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31071/* 61933*/ OPC_RecordNode, // #17 = $mF
31072/* 61934*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31073/* 61936*/ OPC_CheckType, MVT::i32,
31074/* 61938*/ OPC_MoveParent,
31075/* 61939*/ OPC_CheckType, MVT::v4f32,
31076/* 61941*/ OPC_EmitConvertToTarget, 2,
31077/* 61943*/ OPC_EmitConvertToTarget, 3,
31078/* 61945*/ OPC_EmitConvertToTarget, 4,
31079/* 61947*/ OPC_EmitConvertToTarget, 5,
31080/* 61949*/ OPC_EmitConvertToTarget, 6,
31081/* 61951*/ OPC_EmitConvertToTarget, 7,
31082/* 61953*/ OPC_EmitConvertToTarget, 8,
31083/* 61955*/ OPC_EmitConvertToTarget, 9,
31084/* 61957*/ OPC_EmitConvertToTarget, 10,
31085/* 61959*/ OPC_EmitConvertToTarget, 11,
31086/* 61961*/ OPC_EmitConvertToTarget, 12,
31087/* 61963*/ OPC_EmitConvertToTarget, 13,
31088/* 61965*/ OPC_EmitConvertToTarget, 14,
31089/* 61967*/ OPC_EmitConvertToTarget, 15,
31090/* 61969*/ OPC_EmitConvertToTarget, 16,
31091/* 61971*/ OPC_EmitConvertToTarget, 17,
31092/* 61973*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE), 0,
31093 MVT::v4f32, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
31094 // Src: (wasm_shuffle:{ *:[v4f32] } V128:{ *:[v4f32] }:$x, V128:{ *:[v4f32] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
31095 // Dst: (SHUFFLE:{ *:[v4f32] } ?:{ *:[v4f32] }:$x, ?:{ *:[v4f32] }:$y, (imm:{ *:[i32] }):$m0, (imm:{ *:[i32] }):$m1, (imm:{ *:[i32] }):$m2, (imm:{ *:[i32] }):$m3, (imm:{ *:[i32] }):$m4, (imm:{ *:[i32] }):$m5, (imm:{ *:[i32] }):$m6, (imm:{ *:[i32] }):$m7, (imm:{ *:[i32] }):$m8, (imm:{ *:[i32] }):$m9, (imm:{ *:[i32] }):$mA, (imm:{ *:[i32] }):$mB, (imm:{ *:[i32] }):$mC, (imm:{ *:[i32] }):$mD, (imm:{ *:[i32] }):$mE, (imm:{ *:[i32] }):$mF)
31096/* 61997*/ /*Scope*/ 105|128,1/*233*/, /*->62232*/
31097/* 61999*/ OPC_CheckChild0Type, MVT::v2f64,
31098/* 62001*/ OPC_RecordChild1, // #1 = $y
31099/* 62002*/ OPC_CheckChild1Type, MVT::v2f64,
31100/* 62004*/ OPC_RecordChild2, // #2 = $m0
31101/* 62005*/ OPC_MoveChild2,
31102/* 62006*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31103/* 62009*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31104/* 62011*/ OPC_CheckType, MVT::i32,
31105/* 62013*/ OPC_MoveParent,
31106/* 62014*/ OPC_RecordChild3, // #3 = $m1
31107/* 62015*/ OPC_MoveChild3,
31108/* 62016*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31109/* 62019*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31110/* 62021*/ OPC_CheckType, MVT::i32,
31111/* 62023*/ OPC_MoveParent,
31112/* 62024*/ OPC_RecordChild4, // #4 = $m2
31113/* 62025*/ OPC_MoveChild4,
31114/* 62026*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31115/* 62029*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31116/* 62031*/ OPC_CheckType, MVT::i32,
31117/* 62033*/ OPC_MoveParent,
31118/* 62034*/ OPC_RecordChild5, // #5 = $m3
31119/* 62035*/ OPC_MoveChild5,
31120/* 62036*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31121/* 62039*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31122/* 62041*/ OPC_CheckType, MVT::i32,
31123/* 62043*/ OPC_MoveParent,
31124/* 62044*/ OPC_RecordChild6, // #6 = $m4
31125/* 62045*/ OPC_MoveChild6,
31126/* 62046*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31127/* 62049*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31128/* 62051*/ OPC_CheckType, MVT::i32,
31129/* 62053*/ OPC_MoveParent,
31130/* 62054*/ OPC_RecordChild7, // #7 = $m5
31131/* 62055*/ OPC_MoveChild7,
31132/* 62056*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31133/* 62059*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31134/* 62061*/ OPC_CheckType, MVT::i32,
31135/* 62063*/ OPC_MoveParent,
31136/* 62064*/ OPC_MoveChild, 8,
31137/* 62066*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31138/* 62069*/ OPC_RecordNode, // #8 = $m6
31139/* 62070*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31140/* 62072*/ OPC_CheckType, MVT::i32,
31141/* 62074*/ OPC_MoveParent,
31142/* 62075*/ OPC_MoveChild, 9,
31143/* 62077*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31144/* 62080*/ OPC_RecordNode, // #9 = $m7
31145/* 62081*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31146/* 62083*/ OPC_CheckType, MVT::i32,
31147/* 62085*/ OPC_MoveParent,
31148/* 62086*/ OPC_MoveChild, 10,
31149/* 62088*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31150/* 62091*/ OPC_RecordNode, // #10 = $m8
31151/* 62092*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31152/* 62094*/ OPC_CheckType, MVT::i32,
31153/* 62096*/ OPC_MoveParent,
31154/* 62097*/ OPC_MoveChild, 11,
31155/* 62099*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31156/* 62102*/ OPC_RecordNode, // #11 = $m9
31157/* 62103*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31158/* 62105*/ OPC_CheckType, MVT::i32,
31159/* 62107*/ OPC_MoveParent,
31160/* 62108*/ OPC_MoveChild, 12,
31161/* 62110*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31162/* 62113*/ OPC_RecordNode, // #12 = $mA
31163/* 62114*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31164/* 62116*/ OPC_CheckType, MVT::i32,
31165/* 62118*/ OPC_MoveParent,
31166/* 62119*/ OPC_MoveChild, 13,
31167/* 62121*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31168/* 62124*/ OPC_RecordNode, // #13 = $mB
31169/* 62125*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31170/* 62127*/ OPC_CheckType, MVT::i32,
31171/* 62129*/ OPC_MoveParent,
31172/* 62130*/ OPC_MoveChild, 14,
31173/* 62132*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31174/* 62135*/ OPC_RecordNode, // #14 = $mC
31175/* 62136*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31176/* 62138*/ OPC_CheckType, MVT::i32,
31177/* 62140*/ OPC_MoveParent,
31178/* 62141*/ OPC_MoveChild, 15,
31179/* 62143*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31180/* 62146*/ OPC_RecordNode, // #15 = $mD
31181/* 62147*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31182/* 62149*/ OPC_CheckType, MVT::i32,
31183/* 62151*/ OPC_MoveParent,
31184/* 62152*/ OPC_MoveChild, 16,
31185/* 62154*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31186/* 62157*/ OPC_RecordNode, // #16 = $mE
31187/* 62158*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31188/* 62160*/ OPC_CheckType, MVT::i32,
31189/* 62162*/ OPC_MoveParent,
31190/* 62163*/ OPC_MoveChild, 17,
31191/* 62165*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31192/* 62168*/ OPC_RecordNode, // #17 = $mF
31193/* 62169*/ OPC_CheckPredicate, 26, // Predicate_LaneIdx32
31194/* 62171*/ OPC_CheckType, MVT::i32,
31195/* 62173*/ OPC_MoveParent,
31196/* 62174*/ OPC_CheckType, MVT::v2f64,
31197/* 62176*/ OPC_EmitConvertToTarget, 2,
31198/* 62178*/ OPC_EmitConvertToTarget, 3,
31199/* 62180*/ OPC_EmitConvertToTarget, 4,
31200/* 62182*/ OPC_EmitConvertToTarget, 5,
31201/* 62184*/ OPC_EmitConvertToTarget, 6,
31202/* 62186*/ OPC_EmitConvertToTarget, 7,
31203/* 62188*/ OPC_EmitConvertToTarget, 8,
31204/* 62190*/ OPC_EmitConvertToTarget, 9,
31205/* 62192*/ OPC_EmitConvertToTarget, 10,
31206/* 62194*/ OPC_EmitConvertToTarget, 11,
31207/* 62196*/ OPC_EmitConvertToTarget, 12,
31208/* 62198*/ OPC_EmitConvertToTarget, 13,
31209/* 62200*/ OPC_EmitConvertToTarget, 14,
31210/* 62202*/ OPC_EmitConvertToTarget, 15,
31211/* 62204*/ OPC_EmitConvertToTarget, 16,
31212/* 62206*/ OPC_EmitConvertToTarget, 17,
31213/* 62208*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE), 0,
31214 MVT::v2f64, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
31215 // Src: (wasm_shuffle:{ *:[v2f64] } V128:{ *:[v2f64] }:$x, V128:{ *:[v2f64] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
31216 // Dst: (SHUFFLE:{ *:[v2f64] } ?:{ *:[v2f64] }:$x, ?:{ *:[v2f64] }:$y, (imm:{ *:[i32] }):$m0, (imm:{ *:[i32] }):$m1, (imm:{ *:[i32] }):$m2, (imm:{ *:[i32] }):$m3, (imm:{ *:[i32] }):$m4, (imm:{ *:[i32] }):$m5, (imm:{ *:[i32] }):$m6, (imm:{ *:[i32] }):$m7, (imm:{ *:[i32] }):$m8, (imm:{ *:[i32] }):$m9, (imm:{ *:[i32] }):$mA, (imm:{ *:[i32] }):$mB, (imm:{ *:[i32] }):$mC, (imm:{ *:[i32] }):$mD, (imm:{ *:[i32] }):$mE, (imm:{ *:[i32] }):$mF)
31217/* 62232*/ 0, /*End of Scope*/
31218/* 62233*/ /*SwitchOpcode*/ 40|128,12/*1576*/, TARGET_VAL(WebAssemblyISD::LOAD_SPLAT),// ->63813
31219/* 62237*/ OPC_RecordMemRef,
31220/* 62238*/ OPC_RecordNode, // #0 = 'wasm_load_splat' chained node
31221/* 62239*/ OPC_Scope, 82|128,4/*594*/, /*->62836*/ // 4 children in Scope
31222/* 62242*/ OPC_MoveChild1,
31223/* 62243*/ OPC_SwitchOpcode /*3 cases */, 45|128,1/*173*/, TARGET_VAL(ISD::ADD),// ->62421
31224/* 62248*/ OPC_RecordChild0, // #1 = $addr
31225/* 62249*/ OPC_RecordChild1, // #2 = $off
31226/* 62250*/ OPC_MoveChild1,
31227/* 62251*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31228/* 62254*/ OPC_MoveParent,
31229/* 62255*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
31230/* 62257*/ OPC_SwitchType /*2 cases */, 79, MVT::i32,// ->62339
31231/* 62260*/ OPC_MoveParent,
31232/* 62261*/ OPC_SwitchType /*4 cases */, 17, MVT::v16i8,// ->62281
31233/* 62264*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31234/* 62266*/ OPC_EmitMergeInputChains1_0,
31235/* 62267*/ OPC_EmitInteger, MVT::i32, 0,
31236/* 62270*/ OPC_EmitConvertToTarget, 2,
31237/* 62272*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31238 MVT::v16i8, 3/*#Ops*/, 3, 4, 1,
31239 // Src: (wasm_load_splat:{ *:[v16i8] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>) - Complexity = 10
31240 // Dst: (LOAD8_SPLAT_A32:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
31241/* 62281*/ /*SwitchType*/ 17, MVT::v8i16,// ->62300
31242/* 62283*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31243/* 62285*/ OPC_EmitMergeInputChains1_0,
31244/* 62286*/ OPC_EmitInteger, MVT::i32, 0,
31245/* 62289*/ OPC_EmitConvertToTarget, 2,
31246/* 62291*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31247 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
31248 // Src: (wasm_load_splat:{ *:[v8i16] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>) - Complexity = 10
31249 // Dst: (LOAD16_SPLAT_A32:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
31250/* 62300*/ /*SwitchType*/ 17, MVT::v4i32,// ->62319
31251/* 62302*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31252/* 62304*/ OPC_EmitMergeInputChains1_0,
31253/* 62305*/ OPC_EmitInteger, MVT::i32, 0,
31254/* 62308*/ OPC_EmitConvertToTarget, 2,
31255/* 62310*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31256 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
31257 // Src: (wasm_load_splat:{ *:[v4i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>) - Complexity = 10
31258 // Dst: (LOAD32_SPLAT_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
31259/* 62319*/ /*SwitchType*/ 17, MVT::v2i64,// ->62338
31260/* 62321*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31261/* 62323*/ OPC_EmitMergeInputChains1_0,
31262/* 62324*/ OPC_EmitInteger, MVT::i32, 0,
31263/* 62327*/ OPC_EmitConvertToTarget, 2,
31264/* 62329*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31265 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
31266 // Src: (wasm_load_splat:{ *:[v2i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>) - Complexity = 10
31267 // Dst: (LOAD64_SPLAT_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
31268/* 62338*/ 0, // EndSwitchType
31269/* 62339*/ /*SwitchType*/ 79, MVT::i64,// ->62420
31270/* 62341*/ OPC_MoveParent,
31271/* 62342*/ OPC_SwitchType /*4 cases */, 17, MVT::v16i8,// ->62362
31272/* 62345*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31273/* 62347*/ OPC_EmitMergeInputChains1_0,
31274/* 62348*/ OPC_EmitInteger, MVT::i32, 0,
31275/* 62351*/ OPC_EmitConvertToTarget, 2,
31276/* 62353*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31277 MVT::v16i8, 3/*#Ops*/, 3, 4, 1,
31278 // Src: (wasm_load_splat:{ *:[v16i8] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>) - Complexity = 10
31279 // Dst: (LOAD8_SPLAT_A64:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
31280/* 62362*/ /*SwitchType*/ 17, MVT::v8i16,// ->62381
31281/* 62364*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31282/* 62366*/ OPC_EmitMergeInputChains1_0,
31283/* 62367*/ OPC_EmitInteger, MVT::i32, 0,
31284/* 62370*/ OPC_EmitConvertToTarget, 2,
31285/* 62372*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31286 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
31287 // Src: (wasm_load_splat:{ *:[v8i16] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>) - Complexity = 10
31288 // Dst: (LOAD16_SPLAT_A64:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
31289/* 62381*/ /*SwitchType*/ 17, MVT::v4i32,// ->62400
31290/* 62383*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31291/* 62385*/ OPC_EmitMergeInputChains1_0,
31292/* 62386*/ OPC_EmitInteger, MVT::i32, 0,
31293/* 62389*/ OPC_EmitConvertToTarget, 2,
31294/* 62391*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31295 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
31296 // Src: (wasm_load_splat:{ *:[v4i32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>) - Complexity = 10
31297 // Dst: (LOAD32_SPLAT_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
31298/* 62400*/ /*SwitchType*/ 17, MVT::v2i64,// ->62419
31299/* 62402*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31300/* 62404*/ OPC_EmitMergeInputChains1_0,
31301/* 62405*/ OPC_EmitInteger, MVT::i32, 0,
31302/* 62408*/ OPC_EmitConvertToTarget, 2,
31303/* 62410*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31304 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
31305 // Src: (wasm_load_splat:{ *:[v2i64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>) - Complexity = 10
31306 // Dst: (LOAD64_SPLAT_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
31307/* 62419*/ 0, // EndSwitchType
31308/* 62420*/ 0, // EndSwitchType
31309/* 62421*/ /*SwitchOpcode*/ 45|128,1/*173*/, TARGET_VAL(ISD::OR),// ->62598
31310/* 62425*/ OPC_RecordChild0, // #1 = $addr
31311/* 62426*/ OPC_RecordChild1, // #2 = $off
31312/* 62427*/ OPC_MoveChild1,
31313/* 62428*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31314/* 62431*/ OPC_MoveParent,
31315/* 62432*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
31316/* 62434*/ OPC_SwitchType /*2 cases */, 79, MVT::i32,// ->62516
31317/* 62437*/ OPC_MoveParent,
31318/* 62438*/ OPC_SwitchType /*4 cases */, 17, MVT::v16i8,// ->62458
31319/* 62441*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31320/* 62443*/ OPC_EmitMergeInputChains1_0,
31321/* 62444*/ OPC_EmitInteger, MVT::i32, 0,
31322/* 62447*/ OPC_EmitConvertToTarget, 2,
31323/* 62449*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31324 MVT::v16i8, 3/*#Ops*/, 3, 4, 1,
31325 // Src: (wasm_load_splat:{ *:[v16i8] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>) - Complexity = 10
31326 // Dst: (LOAD8_SPLAT_A32:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
31327/* 62458*/ /*SwitchType*/ 17, MVT::v8i16,// ->62477
31328/* 62460*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31329/* 62462*/ OPC_EmitMergeInputChains1_0,
31330/* 62463*/ OPC_EmitInteger, MVT::i32, 0,
31331/* 62466*/ OPC_EmitConvertToTarget, 2,
31332/* 62468*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31333 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
31334 // Src: (wasm_load_splat:{ *:[v8i16] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>) - Complexity = 10
31335 // Dst: (LOAD16_SPLAT_A32:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
31336/* 62477*/ /*SwitchType*/ 17, MVT::v4i32,// ->62496
31337/* 62479*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31338/* 62481*/ OPC_EmitMergeInputChains1_0,
31339/* 62482*/ OPC_EmitInteger, MVT::i32, 0,
31340/* 62485*/ OPC_EmitConvertToTarget, 2,
31341/* 62487*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31342 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
31343 // Src: (wasm_load_splat:{ *:[v4i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>) - Complexity = 10
31344 // Dst: (LOAD32_SPLAT_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
31345/* 62496*/ /*SwitchType*/ 17, MVT::v2i64,// ->62515
31346/* 62498*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31347/* 62500*/ OPC_EmitMergeInputChains1_0,
31348/* 62501*/ OPC_EmitInteger, MVT::i32, 0,
31349/* 62504*/ OPC_EmitConvertToTarget, 2,
31350/* 62506*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31351 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
31352 // Src: (wasm_load_splat:{ *:[v2i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>) - Complexity = 10
31353 // Dst: (LOAD64_SPLAT_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
31354/* 62515*/ 0, // EndSwitchType
31355/* 62516*/ /*SwitchType*/ 79, MVT::i64,// ->62597
31356/* 62518*/ OPC_MoveParent,
31357/* 62519*/ OPC_SwitchType /*4 cases */, 17, MVT::v16i8,// ->62539
31358/* 62522*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31359/* 62524*/ OPC_EmitMergeInputChains1_0,
31360/* 62525*/ OPC_EmitInteger, MVT::i32, 0,
31361/* 62528*/ OPC_EmitConvertToTarget, 2,
31362/* 62530*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31363 MVT::v16i8, 3/*#Ops*/, 3, 4, 1,
31364 // Src: (wasm_load_splat:{ *:[v16i8] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>) - Complexity = 10
31365 // Dst: (LOAD8_SPLAT_A64:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
31366/* 62539*/ /*SwitchType*/ 17, MVT::v8i16,// ->62558
31367/* 62541*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31368/* 62543*/ OPC_EmitMergeInputChains1_0,
31369/* 62544*/ OPC_EmitInteger, MVT::i32, 0,
31370/* 62547*/ OPC_EmitConvertToTarget, 2,
31371/* 62549*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31372 MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
31373 // Src: (wasm_load_splat:{ *:[v8i16] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>) - Complexity = 10
31374 // Dst: (LOAD16_SPLAT_A64:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
31375/* 62558*/ /*SwitchType*/ 17, MVT::v4i32,// ->62577
31376/* 62560*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31377/* 62562*/ OPC_EmitMergeInputChains1_0,
31378/* 62563*/ OPC_EmitInteger, MVT::i32, 0,
31379/* 62566*/ OPC_EmitConvertToTarget, 2,
31380/* 62568*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31381 MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
31382 // Src: (wasm_load_splat:{ *:[v4i32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>) - Complexity = 10
31383 // Dst: (LOAD32_SPLAT_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
31384/* 62577*/ /*SwitchType*/ 17, MVT::v2i64,// ->62596
31385/* 62579*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31386/* 62581*/ OPC_EmitMergeInputChains1_0,
31387/* 62582*/ OPC_EmitInteger, MVT::i32, 0,
31388/* 62585*/ OPC_EmitConvertToTarget, 2,
31389/* 62587*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31390 MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
31391 // Src: (wasm_load_splat:{ *:[v2i64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>) - Complexity = 10
31392 // Dst: (LOAD64_SPLAT_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
31393/* 62596*/ 0, // EndSwitchType
31394/* 62597*/ 0, // EndSwitchType
31395/* 62598*/ /*SwitchOpcode*/ 105|128,1/*233*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->62835
31396/* 62602*/ OPC_RecordChild0, // #1 = $off
31397/* 62603*/ OPC_MoveChild0,
31398/* 62604*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
31399/* 62607*/ OPC_MoveParent,
31400/* 62608*/ OPC_MoveParent,
31401/* 62609*/ OPC_SwitchType /*4 cases */, 54, MVT::v16i8,// ->62666
31402/* 62612*/ OPC_Scope, 25, /*->62639*/ // 2 children in Scope
31403/* 62614*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
31404/* 62616*/ OPC_EmitMergeInputChains1_0,
31405/* 62617*/ OPC_EmitInteger, MVT::i32, 0,
31406/* 62620*/ OPC_EmitInteger, MVT::i32, 0,
31407/* 62623*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
31408 MVT::i32, 1/*#Ops*/, 3, // Results = #4
31409/* 62630*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31410 MVT::v16i8, 3/*#Ops*/, 2, 1, 4,
31411 // Src: (wasm_load_splat:{ *:[v16i8] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off)) - Complexity = 9
31412 // Dst: (LOAD8_SPLAT_A32:{ *:[v16i8] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
31413/* 62639*/ /*Scope*/ 25, /*->62665*/
31414/* 62640*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
31415/* 62642*/ OPC_EmitMergeInputChains1_0,
31416/* 62643*/ OPC_EmitInteger, MVT::i32, 0,
31417/* 62646*/ OPC_EmitInteger, MVT::i64, 0,
31418/* 62649*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
31419 MVT::i64, 1/*#Ops*/, 3, // Results = #4
31420/* 62656*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31421 MVT::v16i8, 3/*#Ops*/, 2, 1, 4,
31422 // Src: (wasm_load_splat:{ *:[v16i8] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off)) - Complexity = 9
31423 // Dst: (LOAD8_SPLAT_A64:{ *:[v16i8] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
31424/* 62665*/ 0, /*End of Scope*/
31425/* 62666*/ /*SwitchType*/ 54, MVT::v8i16,// ->62722
31426/* 62668*/ OPC_Scope, 25, /*->62695*/ // 2 children in Scope
31427/* 62670*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
31428/* 62672*/ OPC_EmitMergeInputChains1_0,
31429/* 62673*/ OPC_EmitInteger, MVT::i32, 0,
31430/* 62676*/ OPC_EmitInteger, MVT::i32, 0,
31431/* 62679*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
31432 MVT::i32, 1/*#Ops*/, 3, // Results = #4
31433/* 62686*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31434 MVT::v8i16, 3/*#Ops*/, 2, 1, 4,
31435 // Src: (wasm_load_splat:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off)) - Complexity = 9
31436 // Dst: (LOAD16_SPLAT_A32:{ *:[v8i16] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
31437/* 62695*/ /*Scope*/ 25, /*->62721*/
31438/* 62696*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
31439/* 62698*/ OPC_EmitMergeInputChains1_0,
31440/* 62699*/ OPC_EmitInteger, MVT::i32, 0,
31441/* 62702*/ OPC_EmitInteger, MVT::i64, 0,
31442/* 62705*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
31443 MVT::i64, 1/*#Ops*/, 3, // Results = #4
31444/* 62712*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31445 MVT::v8i16, 3/*#Ops*/, 2, 1, 4,
31446 // Src: (wasm_load_splat:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off)) - Complexity = 9
31447 // Dst: (LOAD16_SPLAT_A64:{ *:[v8i16] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
31448/* 62721*/ 0, /*End of Scope*/
31449/* 62722*/ /*SwitchType*/ 54, MVT::v4i32,// ->62778
31450/* 62724*/ OPC_Scope, 25, /*->62751*/ // 2 children in Scope
31451/* 62726*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
31452/* 62728*/ OPC_EmitMergeInputChains1_0,
31453/* 62729*/ OPC_EmitInteger, MVT::i32, 0,
31454/* 62732*/ OPC_EmitInteger, MVT::i32, 0,
31455/* 62735*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
31456 MVT::i32, 1/*#Ops*/, 3, // Results = #4
31457/* 62742*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31458 MVT::v4i32, 3/*#Ops*/, 2, 1, 4,
31459 // Src: (wasm_load_splat:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off)) - Complexity = 9
31460 // Dst: (LOAD32_SPLAT_A32:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
31461/* 62751*/ /*Scope*/ 25, /*->62777*/
31462/* 62752*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
31463/* 62754*/ OPC_EmitMergeInputChains1_0,
31464/* 62755*/ OPC_EmitInteger, MVT::i32, 0,
31465/* 62758*/ OPC_EmitInteger, MVT::i64, 0,
31466/* 62761*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
31467 MVT::i64, 1/*#Ops*/, 3, // Results = #4
31468/* 62768*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31469 MVT::v4i32, 3/*#Ops*/, 2, 1, 4,
31470 // Src: (wasm_load_splat:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off)) - Complexity = 9
31471 // Dst: (LOAD32_SPLAT_A64:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
31472/* 62777*/ 0, /*End of Scope*/
31473/* 62778*/ /*SwitchType*/ 54, MVT::v2i64,// ->62834
31474/* 62780*/ OPC_Scope, 25, /*->62807*/ // 2 children in Scope
31475/* 62782*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
31476/* 62784*/ OPC_EmitMergeInputChains1_0,
31477/* 62785*/ OPC_EmitInteger, MVT::i32, 0,
31478/* 62788*/ OPC_EmitInteger, MVT::i32, 0,
31479/* 62791*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
31480 MVT::i32, 1/*#Ops*/, 3, // Results = #4
31481/* 62798*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31482 MVT::v2i64, 3/*#Ops*/, 2, 1, 4,
31483 // Src: (wasm_load_splat:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off)) - Complexity = 9
31484 // Dst: (LOAD64_SPLAT_A32:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
31485/* 62807*/ /*Scope*/ 25, /*->62833*/
31486/* 62808*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
31487/* 62810*/ OPC_EmitMergeInputChains1_0,
31488/* 62811*/ OPC_EmitInteger, MVT::i32, 0,
31489/* 62814*/ OPC_EmitInteger, MVT::i64, 0,
31490/* 62817*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
31491 MVT::i64, 1/*#Ops*/, 3, // Results = #4
31492/* 62824*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31493 MVT::v2i64, 3/*#Ops*/, 2, 1, 4,
31494 // Src: (wasm_load_splat:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off)) - Complexity = 9
31495 // Dst: (LOAD64_SPLAT_A64:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
31496/* 62833*/ 0, /*End of Scope*/
31497/* 62834*/ 0, // EndSwitchType
31498/* 62835*/ 0, // EndSwitchOpcode
31499/* 62836*/ /*Scope*/ 38|128,3/*422*/, /*->63260*/
31500/* 62838*/ OPC_RecordChild1, // #1 = $off
31501/* 62839*/ OPC_Scope, 119|128,1/*247*/, /*->63089*/ // 3 children in Scope
31502/* 62842*/ OPC_MoveChild1,
31503/* 62843*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31504/* 62846*/ OPC_MoveParent,
31505/* 62847*/ OPC_SwitchType /*4 cases */, 58, MVT::v16i8,// ->62908
31506/* 62850*/ OPC_Scope, 27, /*->62879*/ // 2 children in Scope
31507/* 62852*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31508/* 62854*/ OPC_EmitMergeInputChains1_0,
31509/* 62855*/ OPC_EmitInteger, MVT::i32, 0,
31510/* 62858*/ OPC_EmitConvertToTarget, 1,
31511/* 62860*/ OPC_EmitInteger, MVT::i32, 0,
31512/* 62863*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
31513 MVT::i32, 1/*#Ops*/, 4, // Results = #5
31514/* 62870*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31515 MVT::v16i8, 3/*#Ops*/, 2, 3, 5,
31516 // Src: (wasm_load_splat:{ *:[v16i8] } (imm:{ *:[iPTR] }):$off) - Complexity = 6
31517 // Dst: (LOAD8_SPLAT_A32:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
31518/* 62879*/ /*Scope*/ 27, /*->62907*/
31519/* 62880*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31520/* 62882*/ OPC_EmitMergeInputChains1_0,
31521/* 62883*/ OPC_EmitInteger, MVT::i32, 0,
31522/* 62886*/ OPC_EmitConvertToTarget, 1,
31523/* 62888*/ OPC_EmitInteger, MVT::i64, 0,
31524/* 62891*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
31525 MVT::i64, 1/*#Ops*/, 4, // Results = #5
31526/* 62898*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31527 MVT::v16i8, 3/*#Ops*/, 2, 3, 5,
31528 // Src: (wasm_load_splat:{ *:[v16i8] } (imm:{ *:[iPTR] }):$off) - Complexity = 6
31529 // Dst: (LOAD8_SPLAT_A64:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
31530/* 62907*/ 0, /*End of Scope*/
31531/* 62908*/ /*SwitchType*/ 58, MVT::v8i16,// ->62968
31532/* 62910*/ OPC_Scope, 27, /*->62939*/ // 2 children in Scope
31533/* 62912*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31534/* 62914*/ OPC_EmitMergeInputChains1_0,
31535/* 62915*/ OPC_EmitInteger, MVT::i32, 0,
31536/* 62918*/ OPC_EmitConvertToTarget, 1,
31537/* 62920*/ OPC_EmitInteger, MVT::i32, 0,
31538/* 62923*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
31539 MVT::i32, 1/*#Ops*/, 4, // Results = #5
31540/* 62930*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31541 MVT::v8i16, 3/*#Ops*/, 2, 3, 5,
31542 // Src: (wasm_load_splat:{ *:[v8i16] } (imm:{ *:[iPTR] }):$off) - Complexity = 6
31543 // Dst: (LOAD16_SPLAT_A32:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
31544/* 62939*/ /*Scope*/ 27, /*->62967*/
31545/* 62940*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31546/* 62942*/ OPC_EmitMergeInputChains1_0,
31547/* 62943*/ OPC_EmitInteger, MVT::i32, 0,
31548/* 62946*/ OPC_EmitConvertToTarget, 1,
31549/* 62948*/ OPC_EmitInteger, MVT::i64, 0,
31550/* 62951*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
31551 MVT::i64, 1/*#Ops*/, 4, // Results = #5
31552/* 62958*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31553 MVT::v8i16, 3/*#Ops*/, 2, 3, 5,
31554 // Src: (wasm_load_splat:{ *:[v8i16] } (imm:{ *:[iPTR] }):$off) - Complexity = 6
31555 // Dst: (LOAD16_SPLAT_A64:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
31556/* 62967*/ 0, /*End of Scope*/
31557/* 62968*/ /*SwitchType*/ 58, MVT::v4i32,// ->63028
31558/* 62970*/ OPC_Scope, 27, /*->62999*/ // 2 children in Scope
31559/* 62972*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31560/* 62974*/ OPC_EmitMergeInputChains1_0,
31561/* 62975*/ OPC_EmitInteger, MVT::i32, 0,
31562/* 62978*/ OPC_EmitConvertToTarget, 1,
31563/* 62980*/ OPC_EmitInteger, MVT::i32, 0,
31564/* 62983*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
31565 MVT::i32, 1/*#Ops*/, 4, // Results = #5
31566/* 62990*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31567 MVT::v4i32, 3/*#Ops*/, 2, 3, 5,
31568 // Src: (wasm_load_splat:{ *:[v4i32] } (imm:{ *:[iPTR] }):$off) - Complexity = 6
31569 // Dst: (LOAD32_SPLAT_A32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
31570/* 62999*/ /*Scope*/ 27, /*->63027*/
31571/* 63000*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31572/* 63002*/ OPC_EmitMergeInputChains1_0,
31573/* 63003*/ OPC_EmitInteger, MVT::i32, 0,
31574/* 63006*/ OPC_EmitConvertToTarget, 1,
31575/* 63008*/ OPC_EmitInteger, MVT::i64, 0,
31576/* 63011*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
31577 MVT::i64, 1/*#Ops*/, 4, // Results = #5
31578/* 63018*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31579 MVT::v4i32, 3/*#Ops*/, 2, 3, 5,
31580 // Src: (wasm_load_splat:{ *:[v4i32] } (imm:{ *:[iPTR] }):$off) - Complexity = 6
31581 // Dst: (LOAD32_SPLAT_A64:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
31582/* 63027*/ 0, /*End of Scope*/
31583/* 63028*/ /*SwitchType*/ 58, MVT::v2i64,// ->63088
31584/* 63030*/ OPC_Scope, 27, /*->63059*/ // 2 children in Scope
31585/* 63032*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31586/* 63034*/ OPC_EmitMergeInputChains1_0,
31587/* 63035*/ OPC_EmitInteger, MVT::i32, 0,
31588/* 63038*/ OPC_EmitConvertToTarget, 1,
31589/* 63040*/ OPC_EmitInteger, MVT::i32, 0,
31590/* 63043*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
31591 MVT::i32, 1/*#Ops*/, 4, // Results = #5
31592/* 63050*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31593 MVT::v2i64, 3/*#Ops*/, 2, 3, 5,
31594 // Src: (wasm_load_splat:{ *:[v2i64] } (imm:{ *:[iPTR] }):$off) - Complexity = 6
31595 // Dst: (LOAD64_SPLAT_A32:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
31596/* 63059*/ /*Scope*/ 27, /*->63087*/
31597/* 63060*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31598/* 63062*/ OPC_EmitMergeInputChains1_0,
31599/* 63063*/ OPC_EmitInteger, MVT::i32, 0,
31600/* 63066*/ OPC_EmitConvertToTarget, 1,
31601/* 63068*/ OPC_EmitInteger, MVT::i64, 0,
31602/* 63071*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
31603 MVT::i64, 1/*#Ops*/, 4, // Results = #5
31604/* 63078*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31605 MVT::v2i64, 3/*#Ops*/, 2, 3, 5,
31606 // Src: (wasm_load_splat:{ *:[v2i64] } (imm:{ *:[iPTR] }):$off) - Complexity = 6
31607 // Dst: (LOAD64_SPLAT_A64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
31608/* 63087*/ 0, /*End of Scope*/
31609/* 63088*/ 0, // EndSwitchType
31610/* 63089*/ /*Scope*/ 84, /*->63174*/
31611/* 63090*/ OPC_CheckChild1Type, MVT::i32,
31612/* 63092*/ OPC_SwitchType /*4 cases */, 18, MVT::v16i8,// ->63113
31613/* 63095*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31614/* 63097*/ OPC_EmitMergeInputChains1_0,
31615/* 63098*/ OPC_EmitInteger, MVT::i32, 0,
31616/* 63101*/ OPC_EmitInteger, MVT::i32, 0,
31617/* 63104*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31618 MVT::v16i8, 3/*#Ops*/, 2, 3, 1,
31619 // Src: (wasm_load_splat:{ *:[v16i8] } I32:{ *:[i32] }:$addr) - Complexity = 3
31620 // Dst: (LOAD8_SPLAT_A32:{ *:[v16i8] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
31621/* 63113*/ /*SwitchType*/ 18, MVT::v8i16,// ->63133
31622/* 63115*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31623/* 63117*/ OPC_EmitMergeInputChains1_0,
31624/* 63118*/ OPC_EmitInteger, MVT::i32, 0,
31625/* 63121*/ OPC_EmitInteger, MVT::i32, 0,
31626/* 63124*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31627 MVT::v8i16, 3/*#Ops*/, 2, 3, 1,
31628 // Src: (wasm_load_splat:{ *:[v8i16] } I32:{ *:[i32] }:$addr) - Complexity = 3
31629 // Dst: (LOAD16_SPLAT_A32:{ *:[v8i16] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
31630/* 63133*/ /*SwitchType*/ 18, MVT::v4i32,// ->63153
31631/* 63135*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31632/* 63137*/ OPC_EmitMergeInputChains1_0,
31633/* 63138*/ OPC_EmitInteger, MVT::i32, 0,
31634/* 63141*/ OPC_EmitInteger, MVT::i32, 0,
31635/* 63144*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31636 MVT::v4i32, 3/*#Ops*/, 2, 3, 1,
31637 // Src: (wasm_load_splat:{ *:[v4i32] } I32:{ *:[i32] }:$addr) - Complexity = 3
31638 // Dst: (LOAD32_SPLAT_A32:{ *:[v4i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
31639/* 63153*/ /*SwitchType*/ 18, MVT::v2i64,// ->63173
31640/* 63155*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31641/* 63157*/ OPC_EmitMergeInputChains1_0,
31642/* 63158*/ OPC_EmitInteger, MVT::i32, 0,
31643/* 63161*/ OPC_EmitInteger, MVT::i32, 0,
31644/* 63164*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31645 MVT::v2i64, 3/*#Ops*/, 2, 3, 1,
31646 // Src: (wasm_load_splat:{ *:[v2i64] } I32:{ *:[i32] }:$addr) - Complexity = 3
31647 // Dst: (LOAD64_SPLAT_A32:{ *:[v2i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
31648/* 63173*/ 0, // EndSwitchType
31649/* 63174*/ /*Scope*/ 84, /*->63259*/
31650/* 63175*/ OPC_CheckChild1Type, MVT::i64,
31651/* 63177*/ OPC_SwitchType /*4 cases */, 18, MVT::v16i8,// ->63198
31652/* 63180*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31653/* 63182*/ OPC_EmitMergeInputChains1_0,
31654/* 63183*/ OPC_EmitInteger, MVT::i32, 0,
31655/* 63186*/ OPC_EmitInteger, MVT::i64, 0,
31656/* 63189*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31657 MVT::v16i8, 3/*#Ops*/, 2, 3, 1,
31658 // Src: (wasm_load_splat:{ *:[v16i8] } I64:{ *:[i64] }:$addr) - Complexity = 3
31659 // Dst: (LOAD8_SPLAT_A64:{ *:[v16i8] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
31660/* 63198*/ /*SwitchType*/ 18, MVT::v8i16,// ->63218
31661/* 63200*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31662/* 63202*/ OPC_EmitMergeInputChains1_0,
31663/* 63203*/ OPC_EmitInteger, MVT::i32, 0,
31664/* 63206*/ OPC_EmitInteger, MVT::i64, 0,
31665/* 63209*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31666 MVT::v8i16, 3/*#Ops*/, 2, 3, 1,
31667 // Src: (wasm_load_splat:{ *:[v8i16] } I64:{ *:[i64] }:$addr) - Complexity = 3
31668 // Dst: (LOAD16_SPLAT_A64:{ *:[v8i16] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
31669/* 63218*/ /*SwitchType*/ 18, MVT::v4i32,// ->63238
31670/* 63220*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31671/* 63222*/ OPC_EmitMergeInputChains1_0,
31672/* 63223*/ OPC_EmitInteger, MVT::i32, 0,
31673/* 63226*/ OPC_EmitInteger, MVT::i64, 0,
31674/* 63229*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31675 MVT::v4i32, 3/*#Ops*/, 2, 3, 1,
31676 // Src: (wasm_load_splat:{ *:[v4i32] } I64:{ *:[i64] }:$addr) - Complexity = 3
31677 // Dst: (LOAD32_SPLAT_A64:{ *:[v4i32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
31678/* 63238*/ /*SwitchType*/ 18, MVT::v2i64,// ->63258
31679/* 63240*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31680/* 63242*/ OPC_EmitMergeInputChains1_0,
31681/* 63243*/ OPC_EmitInteger, MVT::i32, 0,
31682/* 63246*/ OPC_EmitInteger, MVT::i64, 0,
31683/* 63249*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31684 MVT::v2i64, 3/*#Ops*/, 2, 3, 1,
31685 // Src: (wasm_load_splat:{ *:[v2i64] } I64:{ *:[i64] }:$addr) - Complexity = 3
31686 // Dst: (LOAD64_SPLAT_A64:{ *:[v2i64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
31687/* 63258*/ 0, // EndSwitchType
31688/* 63259*/ 0, /*End of Scope*/
31689/* 63260*/ /*Scope*/ 71|128,2/*327*/, /*->63589*/
31690/* 63262*/ OPC_MoveChild1,
31691/* 63263*/ OPC_SwitchOpcode /*3 cases */, 97, TARGET_VAL(ISD::ADD),// ->63364
31692/* 63267*/ OPC_RecordChild0, // #1 = $addr
31693/* 63268*/ OPC_RecordChild1, // #2 = $off
31694/* 63269*/ OPC_MoveChild1,
31695/* 63270*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31696/* 63273*/ OPC_MoveParent,
31697/* 63274*/ OPC_CheckPredicate, 0, // Predicate_regPlusImm
31698/* 63276*/ OPC_SwitchType /*2 cases */, 41, MVT::i32,// ->63320
31699/* 63279*/ OPC_MoveParent,
31700/* 63280*/ OPC_SwitchType /*2 cases */, 17, MVT::v4f32,// ->63300
31701/* 63283*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31702/* 63285*/ OPC_EmitMergeInputChains1_0,
31703/* 63286*/ OPC_EmitInteger, MVT::i32, 0,
31704/* 63289*/ OPC_EmitConvertToTarget, 2,
31705/* 63291*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31706 MVT::v4f32, 3/*#Ops*/, 3, 4, 1,
31707 // Src: (wasm_load_splat:{ *:[v4f32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>) - Complexity = 10
31708 // Dst: (LOAD32_SPLAT_A32:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
31709/* 63300*/ /*SwitchType*/ 17, MVT::v2f64,// ->63319
31710/* 63302*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31711/* 63304*/ OPC_EmitMergeInputChains1_0,
31712/* 63305*/ OPC_EmitInteger, MVT::i32, 0,
31713/* 63308*/ OPC_EmitConvertToTarget, 2,
31714/* 63310*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31715 MVT::v2f64, 3/*#Ops*/, 3, 4, 1,
31716 // Src: (wasm_load_splat:{ *:[v2f64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>) - Complexity = 10
31717 // Dst: (LOAD64_SPLAT_A32:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
31718/* 63319*/ 0, // EndSwitchType
31719/* 63320*/ /*SwitchType*/ 41, MVT::i64,// ->63363
31720/* 63322*/ OPC_MoveParent,
31721/* 63323*/ OPC_SwitchType /*2 cases */, 17, MVT::v4f32,// ->63343
31722/* 63326*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31723/* 63328*/ OPC_EmitMergeInputChains1_0,
31724/* 63329*/ OPC_EmitInteger, MVT::i32, 0,
31725/* 63332*/ OPC_EmitConvertToTarget, 2,
31726/* 63334*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31727 MVT::v4f32, 3/*#Ops*/, 3, 4, 1,
31728 // Src: (wasm_load_splat:{ *:[v4f32] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>) - Complexity = 10
31729 // Dst: (LOAD32_SPLAT_A64:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
31730/* 63343*/ /*SwitchType*/ 17, MVT::v2f64,// ->63362
31731/* 63345*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31732/* 63347*/ OPC_EmitMergeInputChains1_0,
31733/* 63348*/ OPC_EmitInteger, MVT::i32, 0,
31734/* 63351*/ OPC_EmitConvertToTarget, 2,
31735/* 63353*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31736 MVT::v2f64, 3/*#Ops*/, 3, 4, 1,
31737 // Src: (wasm_load_splat:{ *:[v2f64] } (add:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_regPlusImm>>) - Complexity = 10
31738 // Dst: (LOAD64_SPLAT_A64:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
31739/* 63362*/ 0, // EndSwitchType
31740/* 63363*/ 0, // EndSwitchType
31741/* 63364*/ /*SwitchOpcode*/ 97, TARGET_VAL(ISD::OR),// ->63464
31742/* 63367*/ OPC_RecordChild0, // #1 = $addr
31743/* 63368*/ OPC_RecordChild1, // #2 = $off
31744/* 63369*/ OPC_MoveChild1,
31745/* 63370*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31746/* 63373*/ OPC_MoveParent,
31747/* 63374*/ OPC_CheckPredicate, 3, // Predicate_or_is_add
31748/* 63376*/ OPC_SwitchType /*2 cases */, 41, MVT::i32,// ->63420
31749/* 63379*/ OPC_MoveParent,
31750/* 63380*/ OPC_SwitchType /*2 cases */, 17, MVT::v4f32,// ->63400
31751/* 63383*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31752/* 63385*/ OPC_EmitMergeInputChains1_0,
31753/* 63386*/ OPC_EmitInteger, MVT::i32, 0,
31754/* 63389*/ OPC_EmitConvertToTarget, 2,
31755/* 63391*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31756 MVT::v4f32, 3/*#Ops*/, 3, 4, 1,
31757 // Src: (wasm_load_splat:{ *:[v4f32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>) - Complexity = 10
31758 // Dst: (LOAD32_SPLAT_A32:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
31759/* 63400*/ /*SwitchType*/ 17, MVT::v2f64,// ->63419
31760/* 63402*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31761/* 63404*/ OPC_EmitMergeInputChains1_0,
31762/* 63405*/ OPC_EmitInteger, MVT::i32, 0,
31763/* 63408*/ OPC_EmitConvertToTarget, 2,
31764/* 63410*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31765 MVT::v2f64, 3/*#Ops*/, 3, 4, 1,
31766 // Src: (wasm_load_splat:{ *:[v2f64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>) - Complexity = 10
31767 // Dst: (LOAD64_SPLAT_A32:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
31768/* 63419*/ 0, // EndSwitchType
31769/* 63420*/ /*SwitchType*/ 41, MVT::i64,// ->63463
31770/* 63422*/ OPC_MoveParent,
31771/* 63423*/ OPC_SwitchType /*2 cases */, 17, MVT::v4f32,// ->63443
31772/* 63426*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31773/* 63428*/ OPC_EmitMergeInputChains1_0,
31774/* 63429*/ OPC_EmitInteger, MVT::i32, 0,
31775/* 63432*/ OPC_EmitConvertToTarget, 2,
31776/* 63434*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31777 MVT::v4f32, 3/*#Ops*/, 3, 4, 1,
31778 // Src: (wasm_load_splat:{ *:[v4f32] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>) - Complexity = 10
31779 // Dst: (LOAD32_SPLAT_A64:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
31780/* 63443*/ /*SwitchType*/ 17, MVT::v2f64,// ->63462
31781/* 63445*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31782/* 63447*/ OPC_EmitMergeInputChains1_0,
31783/* 63448*/ OPC_EmitInteger, MVT::i32, 0,
31784/* 63451*/ OPC_EmitConvertToTarget, 2,
31785/* 63453*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31786 MVT::v2f64, 3/*#Ops*/, 3, 4, 1,
31787 // Src: (wasm_load_splat:{ *:[v2f64] } (or:{ *:[i64] } I64:{ *:[i64] }:$addr, (imm:{ *:[i64] }):$off)<<P:Predicate_or_is_add>>) - Complexity = 10
31788 // Dst: (LOAD64_SPLAT_A64:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, I64:{ *:[i64] }:$addr)
31789/* 63462*/ 0, // EndSwitchType
31790/* 63463*/ 0, // EndSwitchType
31791/* 63464*/ /*SwitchOpcode*/ 121, TARGET_VAL(WebAssemblyISD::Wrapper),// ->63588
31792/* 63467*/ OPC_RecordChild0, // #1 = $off
31793/* 63468*/ OPC_MoveChild0,
31794/* 63469*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
31795/* 63472*/ OPC_MoveParent,
31796/* 63473*/ OPC_MoveParent,
31797/* 63474*/ OPC_SwitchType /*2 cases */, 54, MVT::v4f32,// ->63531
31798/* 63477*/ OPC_Scope, 25, /*->63504*/ // 2 children in Scope
31799/* 63479*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
31800/* 63481*/ OPC_EmitMergeInputChains1_0,
31801/* 63482*/ OPC_EmitInteger, MVT::i32, 0,
31802/* 63485*/ OPC_EmitInteger, MVT::i32, 0,
31803/* 63488*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
31804 MVT::i32, 1/*#Ops*/, 3, // Results = #4
31805/* 63495*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31806 MVT::v4f32, 3/*#Ops*/, 2, 1, 4,
31807 // Src: (wasm_load_splat:{ *:[v4f32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off)) - Complexity = 9
31808 // Dst: (LOAD32_SPLAT_A32:{ *:[v4f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
31809/* 63504*/ /*Scope*/ 25, /*->63530*/
31810/* 63505*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
31811/* 63507*/ OPC_EmitMergeInputChains1_0,
31812/* 63508*/ OPC_EmitInteger, MVT::i32, 0,
31813/* 63511*/ OPC_EmitInteger, MVT::i64, 0,
31814/* 63514*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
31815 MVT::i64, 1/*#Ops*/, 3, // Results = #4
31816/* 63521*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31817 MVT::v4f32, 3/*#Ops*/, 2, 1, 4,
31818 // Src: (wasm_load_splat:{ *:[v4f32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off)) - Complexity = 9
31819 // Dst: (LOAD32_SPLAT_A64:{ *:[v4f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
31820/* 63530*/ 0, /*End of Scope*/
31821/* 63531*/ /*SwitchType*/ 54, MVT::v2f64,// ->63587
31822/* 63533*/ OPC_Scope, 25, /*->63560*/ // 2 children in Scope
31823/* 63535*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
31824/* 63537*/ OPC_EmitMergeInputChains1_0,
31825/* 63538*/ OPC_EmitInteger, MVT::i32, 0,
31826/* 63541*/ OPC_EmitInteger, MVT::i32, 0,
31827/* 63544*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
31828 MVT::i32, 1/*#Ops*/, 3, // Results = #4
31829/* 63551*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31830 MVT::v2f64, 3/*#Ops*/, 2, 1, 4,
31831 // Src: (wasm_load_splat:{ *:[v2f64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off)) - Complexity = 9
31832 // Dst: (LOAD64_SPLAT_A32:{ *:[v2f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
31833/* 63560*/ /*Scope*/ 25, /*->63586*/
31834/* 63561*/ OPC_CheckPatternPredicate, 7, // (Subtarget->hasAddr64()) && (!TM.isPositionIndependent())
31835/* 63563*/ OPC_EmitMergeInputChains1_0,
31836/* 63564*/ OPC_EmitInteger, MVT::i32, 0,
31837/* 63567*/ OPC_EmitInteger, MVT::i64, 0,
31838/* 63570*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
31839 MVT::i64, 1/*#Ops*/, 3, // Results = #4
31840/* 63577*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31841 MVT::v2f64, 3/*#Ops*/, 2, 1, 4,
31842 // Src: (wasm_load_splat:{ *:[v2f64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off)) - Complexity = 9
31843 // Dst: (LOAD64_SPLAT_A64:{ *:[v2f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
31844/* 63586*/ 0, /*End of Scope*/
31845/* 63587*/ 0, // EndSwitchType
31846/* 63588*/ 0, // EndSwitchOpcode
31847/* 63589*/ /*Scope*/ 93|128,1/*221*/, /*->63812*/
31848/* 63591*/ OPC_RecordChild1, // #1 = $off
31849/* 63592*/ OPC_Scope, 127, /*->63721*/ // 3 children in Scope
31850/* 63594*/ OPC_MoveChild1,
31851/* 63595*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31852/* 63598*/ OPC_MoveParent,
31853/* 63599*/ OPC_SwitchType /*2 cases */, 58, MVT::v4f32,// ->63660
31854/* 63602*/ OPC_Scope, 27, /*->63631*/ // 2 children in Scope
31855/* 63604*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31856/* 63606*/ OPC_EmitMergeInputChains1_0,
31857/* 63607*/ OPC_EmitInteger, MVT::i32, 0,
31858/* 63610*/ OPC_EmitConvertToTarget, 1,
31859/* 63612*/ OPC_EmitInteger, MVT::i32, 0,
31860/* 63615*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
31861 MVT::i32, 1/*#Ops*/, 4, // Results = #5
31862/* 63622*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31863 MVT::v4f32, 3/*#Ops*/, 2, 3, 5,
31864 // Src: (wasm_load_splat:{ *:[v4f32] } (imm:{ *:[iPTR] }):$off) - Complexity = 6
31865 // Dst: (LOAD32_SPLAT_A32:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
31866/* 63631*/ /*Scope*/ 27, /*->63659*/
31867/* 63632*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31868/* 63634*/ OPC_EmitMergeInputChains1_0,
31869/* 63635*/ OPC_EmitInteger, MVT::i32, 0,
31870/* 63638*/ OPC_EmitConvertToTarget, 1,
31871/* 63640*/ OPC_EmitInteger, MVT::i64, 0,
31872/* 63643*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
31873 MVT::i64, 1/*#Ops*/, 4, // Results = #5
31874/* 63650*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31875 MVT::v4f32, 3/*#Ops*/, 2, 3, 5,
31876 // Src: (wasm_load_splat:{ *:[v4f32] } (imm:{ *:[iPTR] }):$off) - Complexity = 6
31877 // Dst: (LOAD32_SPLAT_A64:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
31878/* 63659*/ 0, /*End of Scope*/
31879/* 63660*/ /*SwitchType*/ 58, MVT::v2f64,// ->63720
31880/* 63662*/ OPC_Scope, 27, /*->63691*/ // 2 children in Scope
31881/* 63664*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31882/* 63666*/ OPC_EmitMergeInputChains1_0,
31883/* 63667*/ OPC_EmitInteger, MVT::i32, 0,
31884/* 63670*/ OPC_EmitConvertToTarget, 1,
31885/* 63672*/ OPC_EmitInteger, MVT::i32, 0,
31886/* 63675*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
31887 MVT::i32, 1/*#Ops*/, 4, // Results = #5
31888/* 63682*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31889 MVT::v2f64, 3/*#Ops*/, 2, 3, 5,
31890 // Src: (wasm_load_splat:{ *:[v2f64] } (imm:{ *:[iPTR] }):$off) - Complexity = 6
31891 // Dst: (LOAD64_SPLAT_A32:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
31892/* 63691*/ /*Scope*/ 27, /*->63719*/
31893/* 63692*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31894/* 63694*/ OPC_EmitMergeInputChains1_0,
31895/* 63695*/ OPC_EmitInteger, MVT::i32, 0,
31896/* 63698*/ OPC_EmitConvertToTarget, 1,
31897/* 63700*/ OPC_EmitInteger, MVT::i64, 0,
31898/* 63703*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I64), 0,
31899 MVT::i64, 1/*#Ops*/, 4, // Results = #5
31900/* 63710*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31901 MVT::v2f64, 3/*#Ops*/, 2, 3, 5,
31902 // Src: (wasm_load_splat:{ *:[v2f64] } (imm:{ *:[iPTR] }):$off) - Complexity = 6
31903 // Dst: (LOAD64_SPLAT_A64:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i64] }):$off, (CONST_I64:{ *:[i64] } 0:{ *:[i64] }))
31904/* 63719*/ 0, /*End of Scope*/
31905/* 63720*/ 0, // EndSwitchType
31906/* 63721*/ /*Scope*/ 44, /*->63766*/
31907/* 63722*/ OPC_CheckChild1Type, MVT::i32,
31908/* 63724*/ OPC_SwitchType /*2 cases */, 18, MVT::v4f32,// ->63745
31909/* 63727*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31910/* 63729*/ OPC_EmitMergeInputChains1_0,
31911/* 63730*/ OPC_EmitInteger, MVT::i32, 0,
31912/* 63733*/ OPC_EmitInteger, MVT::i32, 0,
31913/* 63736*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31914 MVT::v4f32, 3/*#Ops*/, 2, 3, 1,
31915 // Src: (wasm_load_splat:{ *:[v4f32] } I32:{ *:[i32] }:$addr) - Complexity = 3
31916 // Dst: (LOAD32_SPLAT_A32:{ *:[v4f32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
31917/* 63745*/ /*SwitchType*/ 18, MVT::v2f64,// ->63765
31918/* 63747*/ OPC_CheckPatternPredicate, 4, // (!Subtarget->hasAddr64())
31919/* 63749*/ OPC_EmitMergeInputChains1_0,
31920/* 63750*/ OPC_EmitInteger, MVT::i32, 0,
31921/* 63753*/ OPC_EmitInteger, MVT::i32, 0,
31922/* 63756*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
31923 MVT::v2f64, 3/*#Ops*/, 2, 3, 1,
31924 // Src: (wasm_load_splat:{ *:[v2f64] } I32:{ *:[i32] }:$addr) - Complexity = 3
31925 // Dst: (LOAD64_SPLAT_A32:{ *:[v2f64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
31926/* 63765*/ 0, // EndSwitchType
31927/* 63766*/ /*Scope*/ 44, /*->63811*/
31928/* 63767*/ OPC_CheckChild1Type, MVT::i64,
31929/* 63769*/ OPC_SwitchType /*2 cases */, 18, MVT::v4f32,// ->63790
31930/* 63772*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31931/* 63774*/ OPC_EmitMergeInputChains1_0,
31932/* 63775*/ OPC_EmitInteger, MVT::i32, 0,
31933/* 63778*/ OPC_EmitInteger, MVT::i64, 0,
31934/* 63781*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31935 MVT::v4f32, 3/*#Ops*/, 2, 3, 1,
31936 // Src: (wasm_load_splat:{ *:[v4f32] } I64:{ *:[i64] }:$addr) - Complexity = 3
31937 // Dst: (LOAD32_SPLAT_A64:{ *:[v4f32] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
31938/* 63790*/ /*SwitchType*/ 18, MVT::v2f64,// ->63810
31939/* 63792*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasAddr64())
31940/* 63794*/ OPC_EmitMergeInputChains1_0,
31941/* 63795*/ OPC_EmitInteger, MVT::i32, 0,
31942/* 63798*/ OPC_EmitInteger, MVT::i64, 0,
31943/* 63801*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
31944 MVT::v2f64, 3/*#Ops*/, 2, 3, 1,
31945 // Src: (wasm_load_splat:{ *:[v2f64] } I64:{ *:[i64] }:$addr) - Complexity = 3
31946 // Dst: (LOAD64_SPLAT_A64:{ *:[v2f64] } 0:{ *:[i32] }, 0:{ *:[i64] }, I64:{ *:[i64] }:$addr)
31947/* 63810*/ 0, // EndSwitchType
31948/* 63811*/ 0, /*End of Scope*/
31949/* 63812*/ 0, /*End of Scope*/
31950/* 63813*/ /*SwitchOpcode*/ 23|128,2/*279*/, TARGET_VAL(ISD::INSERT_VECTOR_ELT),// ->64096
31951/* 63817*/ OPC_RecordChild0, // #0 = $vec
31952/* 63818*/ OPC_RecordChild1, // #1 = $x
31953/* 63819*/ OPC_Scope, 121, /*->63942*/ // 4 children in Scope
31954/* 63821*/ OPC_CheckChild1Type, MVT::i32,
31955/* 63823*/ OPC_Scope, 66, /*->63891*/ // 2 children in Scope
31956/* 63825*/ OPC_RecordChild2, // #2 = $idx
31957/* 63826*/ OPC_MoveChild2,
31958/* 63827*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31959/* 63830*/ OPC_CheckType, MVT::i32,
31960/* 63832*/ OPC_Scope, 18, /*->63852*/ // 3 children in Scope
31961/* 63834*/ OPC_CheckPredicate, 4, // Predicate_LaneIdx16
31962/* 63836*/ OPC_MoveParent,
31963/* 63837*/ OPC_CheckType, MVT::v16i8,
31964/* 63839*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
31965/* 63841*/ OPC_EmitConvertToTarget, 2,
31966/* 63843*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_I8x16), 0,
31967 MVT::v16i8, 3/*#Ops*/, 0, 3, 1,
31968 // Src: (vector_insert:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, I32:{ *:[i32] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx) - Complexity = 7
31969 // Dst: (REPLACE_LANE_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] }):$idx, I32:{ *:[i32] }:$x)
31970/* 63852*/ /*Scope*/ 18, /*->63871*/
31971/* 63853*/ OPC_CheckPredicate, 5, // Predicate_LaneIdx8
31972/* 63855*/ OPC_MoveParent,
31973/* 63856*/ OPC_CheckType, MVT::v8i16,
31974/* 63858*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
31975/* 63860*/ OPC_EmitConvertToTarget, 2,
31976/* 63862*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_I16x8), 0,
31977 MVT::v8i16, 3/*#Ops*/, 0, 3, 1,
31978 // Src: (vector_insert:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, I32:{ *:[i32] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx) - Complexity = 7
31979 // Dst: (REPLACE_LANE_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] }):$idx, I32:{ *:[i32] }:$x)
31980/* 63871*/ /*Scope*/ 18, /*->63890*/
31981/* 63872*/ OPC_CheckPredicate, 7, // Predicate_LaneIdx4
31982/* 63874*/ OPC_MoveParent,
31983/* 63875*/ OPC_CheckType, MVT::v4i32,
31984/* 63877*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
31985/* 63879*/ OPC_EmitConvertToTarget, 2,
31986/* 63881*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_I32x4), 0,
31987 MVT::v4i32, 3/*#Ops*/, 0, 3, 1,
31988 // Src: (vector_insert:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, I32:{ *:[i32] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx4>>:$idx) - Complexity = 7
31989 // Dst: (REPLACE_LANE_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, (imm:{ *:[i32] }):$idx, I32:{ *:[i32] }:$x)
31990/* 63890*/ 0, /*End of Scope*/
31991/* 63891*/ /*Scope*/ 49, /*->63941*/
31992/* 63892*/ OPC_MoveChild2,
31993/* 63893*/ OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
31994/* 63896*/ OPC_MoveParent,
31995/* 63897*/ OPC_SwitchType /*3 cases */, 12, MVT::v16i8,// ->63912
31996/* 63900*/ OPC_EmitInteger, MVT::i32, 0,
31997/* 63903*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_I8x16), 0,
31998 MVT::v16i8, 3/*#Ops*/, 0, 2, 1,
31999 // Src: (vector_insert:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, I32:{ *:[i32] }:$x, (undef:{ *:[iPTR] })) - Complexity = 6
32000 // Dst: (REPLACE_LANE_I8x16:{ *:[v16i8] } ?:{ *:[v16i8] }:$vec, 0:{ *:[i32] }, ?:{ *:[i32] }:$x)
32001/* 63912*/ /*SwitchType*/ 12, MVT::v8i16,// ->63926
32002/* 63914*/ OPC_EmitInteger, MVT::i32, 0,
32003/* 63917*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_I16x8), 0,
32004 MVT::v8i16, 3/*#Ops*/, 0, 2, 1,
32005 // Src: (vector_insert:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, I32:{ *:[i32] }:$x, (undef:{ *:[iPTR] })) - Complexity = 6
32006 // Dst: (REPLACE_LANE_I16x8:{ *:[v8i16] } ?:{ *:[v8i16] }:$vec, 0:{ *:[i32] }, ?:{ *:[i32] }:$x)
32007/* 63926*/ /*SwitchType*/ 12, MVT::v4i32,// ->63940
32008/* 63928*/ OPC_EmitInteger, MVT::i32, 0,
32009/* 63931*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_I32x4), 0,
32010 MVT::v4i32, 3/*#Ops*/, 0, 2, 1,
32011 // Src: (vector_insert:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, I32:{ *:[i32] }:$x, (undef:{ *:[iPTR] })) - Complexity = 6
32012 // Dst: (REPLACE_LANE_I32x4:{ *:[v4i32] } ?:{ *:[v4i32] }:$vec, 0:{ *:[i32] }, ?:{ *:[i32] }:$x)
32013/* 63940*/ 0, // EndSwitchType
32014/* 63941*/ 0, /*End of Scope*/
32015/* 63942*/ /*Scope*/ 50, /*->63993*/
32016/* 63943*/ OPC_CheckChild1Type, MVT::i64,
32017/* 63945*/ OPC_Scope, 25, /*->63972*/ // 2 children in Scope
32018/* 63947*/ OPC_RecordChild2, // #2 = $idx
32019/* 63948*/ OPC_MoveChild2,
32020/* 63949*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32021/* 63952*/ OPC_CheckPredicate, 8, // Predicate_LaneIdx2
32022/* 63954*/ OPC_CheckType, MVT::i32,
32023/* 63956*/ OPC_MoveParent,
32024/* 63957*/ OPC_CheckType, MVT::v2i64,
32025/* 63959*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32026/* 63961*/ OPC_EmitConvertToTarget, 2,
32027/* 63963*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_I64x2), 0,
32028 MVT::v2i64, 3/*#Ops*/, 0, 3, 1,
32029 // Src: (vector_insert:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, I64:{ *:[i64] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx2>>:$idx) - Complexity = 7
32030 // Dst: (REPLACE_LANE_I64x2:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (imm:{ *:[i32] }):$idx, I64:{ *:[i64] }:$x)
32031/* 63972*/ /*Scope*/ 19, /*->63992*/
32032/* 63973*/ OPC_MoveChild2,
32033/* 63974*/ OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
32034/* 63977*/ OPC_MoveParent,
32035/* 63978*/ OPC_CheckType, MVT::v2i64,
32036/* 63980*/ OPC_EmitInteger, MVT::i32, 0,
32037/* 63983*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_I64x2), 0,
32038 MVT::v2i64, 3/*#Ops*/, 0, 2, 1,
32039 // Src: (vector_insert:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, I64:{ *:[i64] }:$x, (undef:{ *:[iPTR] })) - Complexity = 6
32040 // Dst: (REPLACE_LANE_I64x2:{ *:[v2i64] } ?:{ *:[v2i64] }:$vec, 0:{ *:[i32] }, ?:{ *:[i64] }:$x)
32041/* 63992*/ 0, /*End of Scope*/
32042/* 63993*/ /*Scope*/ 50, /*->64044*/
32043/* 63994*/ OPC_CheckChild1Type, MVT::f32,
32044/* 63996*/ OPC_Scope, 25, /*->64023*/ // 2 children in Scope
32045/* 63998*/ OPC_RecordChild2, // #2 = $idx
32046/* 63999*/ OPC_MoveChild2,
32047/* 64000*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32048/* 64003*/ OPC_CheckPredicate, 7, // Predicate_LaneIdx4
32049/* 64005*/ OPC_CheckType, MVT::i32,
32050/* 64007*/ OPC_MoveParent,
32051/* 64008*/ OPC_CheckType, MVT::v4f32,
32052/* 64010*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32053/* 64012*/ OPC_EmitConvertToTarget, 2,
32054/* 64014*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_F32x4), 0,
32055 MVT::v4f32, 3/*#Ops*/, 0, 3, 1,
32056 // Src: (vector_insert:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec, F32:{ *:[f32] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx4>>:$idx) - Complexity = 7
32057 // Dst: (REPLACE_LANE_F32x4:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec, (imm:{ *:[i32] }):$idx, F32:{ *:[f32] }:$x)
32058/* 64023*/ /*Scope*/ 19, /*->64043*/
32059/* 64024*/ OPC_MoveChild2,
32060/* 64025*/ OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
32061/* 64028*/ OPC_MoveParent,
32062/* 64029*/ OPC_CheckType, MVT::v4f32,
32063/* 64031*/ OPC_EmitInteger, MVT::i32, 0,
32064/* 64034*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_F32x4), 0,
32065 MVT::v4f32, 3/*#Ops*/, 0, 2, 1,
32066 // Src: (vector_insert:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec, F32:{ *:[f32] }:$x, (undef:{ *:[iPTR] })) - Complexity = 6
32067 // Dst: (REPLACE_LANE_F32x4:{ *:[v4f32] } ?:{ *:[v4f32] }:$vec, 0:{ *:[i32] }, ?:{ *:[f32] }:$x)
32068/* 64043*/ 0, /*End of Scope*/
32069/* 64044*/ /*Scope*/ 50, /*->64095*/
32070/* 64045*/ OPC_CheckChild1Type, MVT::f64,
32071/* 64047*/ OPC_Scope, 25, /*->64074*/ // 2 children in Scope
32072/* 64049*/ OPC_RecordChild2, // #2 = $idx
32073/* 64050*/ OPC_MoveChild2,
32074/* 64051*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32075/* 64054*/ OPC_CheckPredicate, 8, // Predicate_LaneIdx2
32076/* 64056*/ OPC_CheckType, MVT::i32,
32077/* 64058*/ OPC_MoveParent,
32078/* 64059*/ OPC_CheckType, MVT::v2f64,
32079/* 64061*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32080/* 64063*/ OPC_EmitConvertToTarget, 2,
32081/* 64065*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_F64x2), 0,
32082 MVT::v2f64, 3/*#Ops*/, 0, 3, 1,
32083 // Src: (vector_insert:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec, F64:{ *:[f64] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx2>>:$idx) - Complexity = 7
32084 // Dst: (REPLACE_LANE_F64x2:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec, (imm:{ *:[i32] }):$idx, F64:{ *:[f64] }:$x)
32085/* 64074*/ /*Scope*/ 19, /*->64094*/
32086/* 64075*/ OPC_MoveChild2,
32087/* 64076*/ OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
32088/* 64079*/ OPC_MoveParent,
32089/* 64080*/ OPC_CheckType, MVT::v2f64,
32090/* 64082*/ OPC_EmitInteger, MVT::i32, 0,
32091/* 64085*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_F64x2), 0,
32092 MVT::v2f64, 3/*#Ops*/, 0, 2, 1,
32093 // Src: (vector_insert:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec, F64:{ *:[f64] }:$x, (undef:{ *:[iPTR] })) - Complexity = 6
32094 // Dst: (REPLACE_LANE_F64x2:{ *:[v2f64] } ?:{ *:[v2f64] }:$vec, 0:{ *:[i32] }, ?:{ *:[f64] }:$x)
32095/* 64094*/ 0, /*End of Scope*/
32096/* 64095*/ 0, /*End of Scope*/
32097/* 64096*/ /*SwitchOpcode*/ 18, TARGET_VAL(WebAssemblyISD::SWIZZLE),// ->64117
32098/* 64099*/ OPC_RecordChild0, // #0 = $src
32099/* 64100*/ OPC_CheckChild0Type, MVT::v16i8,
32100/* 64102*/ OPC_RecordChild1, // #1 = $mask
32101/* 64103*/ OPC_CheckChild1Type, MVT::v16i8,
32102/* 64105*/ OPC_CheckType, MVT::v16i8,
32103/* 64107*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32104/* 64109*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SWIZZLE), 0,
32105 MVT::v16i8, 2/*#Ops*/, 0, 1,
32106 // Src: (wasm_swizzle:{ *:[v16i8] } V128:{ *:[v16i8] }:$src, V128:{ *:[v16i8] }:$mask) - Complexity = 3
32107 // Dst: (SWIZZLE:{ *:[v16i8] } V128:{ *:[v16i8] }:$src, V128:{ *:[v16i8] }:$mask)
32108/* 64117*/ /*SwitchOpcode*/ 71, TARGET_VAL(ISD::SCALAR_TO_VECTOR),// ->64191
32109/* 64120*/ OPC_RecordChild0, // #0 = $x
32110/* 64121*/ OPC_Scope, 31, /*->64154*/ // 4 children in Scope
32111/* 64123*/ OPC_CheckChild0Type, MVT::i32,
32112/* 64125*/ OPC_SwitchType /*3 cases */, 7, MVT::v16i8,// ->64135
32113/* 64128*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_I8x16), 0,
32114 MVT::v16i8, 1/*#Ops*/, 0,
32115 // Src: (scalar_to_vector:{ *:[v16i8] } I32:{ *:[i32] }:$x) - Complexity = 3
32116 // Dst: (SPLAT_I8x16:{ *:[v16i8] } ?:{ *:[i32] }:$x)
32117/* 64135*/ /*SwitchType*/ 7, MVT::v8i16,// ->64144
32118/* 64137*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_I16x8), 0,
32119 MVT::v8i16, 1/*#Ops*/, 0,
32120 // Src: (scalar_to_vector:{ *:[v8i16] } I32:{ *:[i32] }:$x) - Complexity = 3
32121 // Dst: (SPLAT_I16x8:{ *:[v8i16] } ?:{ *:[i32] }:$x)
32122/* 64144*/ /*SwitchType*/ 7, MVT::v4i32,// ->64153
32123/* 64146*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_I32x4), 0,
32124 MVT::v4i32, 1/*#Ops*/, 0,
32125 // Src: (scalar_to_vector:{ *:[v4i32] } I32:{ *:[i32] }:$x) - Complexity = 3
32126 // Dst: (SPLAT_I32x4:{ *:[v4i32] } ?:{ *:[i32] }:$x)
32127/* 64153*/ 0, // EndSwitchType
32128/* 64154*/ /*Scope*/ 11, /*->64166*/
32129/* 64155*/ OPC_CheckChild0Type, MVT::i64,
32130/* 64157*/ OPC_CheckType, MVT::v2i64,
32131/* 64159*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_I64x2), 0,
32132 MVT::v2i64, 1/*#Ops*/, 0,
32133 // Src: (scalar_to_vector:{ *:[v2i64] } I64:{ *:[i64] }:$x) - Complexity = 3
32134 // Dst: (SPLAT_I64x2:{ *:[v2i64] } ?:{ *:[i64] }:$x)
32135/* 64166*/ /*Scope*/ 11, /*->64178*/
32136/* 64167*/ OPC_CheckChild0Type, MVT::f32,
32137/* 64169*/ OPC_CheckType, MVT::v4f32,
32138/* 64171*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_F32x4), 0,
32139 MVT::v4f32, 1/*#Ops*/, 0,
32140 // Src: (scalar_to_vector:{ *:[v4f32] } F32:{ *:[f32] }:$x) - Complexity = 3
32141 // Dst: (SPLAT_F32x4:{ *:[v4f32] } ?:{ *:[f32] }:$x)
32142/* 64178*/ /*Scope*/ 11, /*->64190*/
32143/* 64179*/ OPC_CheckChild0Type, MVT::f64,
32144/* 64181*/ OPC_CheckType, MVT::v2f64,
32145/* 64183*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_F64x2), 0,
32146 MVT::v2f64, 1/*#Ops*/, 0,
32147 // Src: (scalar_to_vector:{ *:[v2f64] } F64:{ *:[f64] }:$x) - Complexity = 3
32148 // Dst: (SPLAT_F64x2:{ *:[v2f64] } ?:{ *:[f64] }:$x)
32149/* 64190*/ 0, /*End of Scope*/
32150/* 64191*/ /*SwitchOpcode*/ 71, TARGET_VAL(ISD::VSELECT),// ->64265
32151/* 64194*/ OPC_RecordChild0, // #0 = $c
32152/* 64195*/ OPC_RecordChild1, // #1 = $v1
32153/* 64196*/ OPC_RecordChild2, // #2 = $v2
32154/* 64197*/ OPC_SwitchType /*6 cases */, 9, MVT::v16i8,// ->64209
32155/* 64200*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
32156 MVT::v16i8, 3/*#Ops*/, 1, 2, 0,
32157 // Src: (vselect:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2) - Complexity = 3
32158 // Dst: (BITSELECT:{ *:[v16i8] } ?:{ *:[v16i8] }:$v1, ?:{ *:[v16i8] }:$v2, ?:{ *:[v16i8] }:$c)
32159/* 64209*/ /*SwitchType*/ 9, MVT::v8i16,// ->64220
32160/* 64211*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
32161 MVT::v8i16, 3/*#Ops*/, 1, 2, 0,
32162 // Src: (vselect:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2) - Complexity = 3
32163 // Dst: (BITSELECT:{ *:[v8i16] } ?:{ *:[v8i16] }:$v1, ?:{ *:[v8i16] }:$v2, ?:{ *:[v8i16] }:$c)
32164/* 64220*/ /*SwitchType*/ 9, MVT::v4i32,// ->64231
32165/* 64222*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
32166 MVT::v4i32, 3/*#Ops*/, 1, 2, 0,
32167 // Src: (vselect:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2) - Complexity = 3
32168 // Dst: (BITSELECT:{ *:[v4i32] } ?:{ *:[v4i32] }:$v1, ?:{ *:[v4i32] }:$v2, ?:{ *:[v4i32] }:$c)
32169/* 64231*/ /*SwitchType*/ 9, MVT::v2i64,// ->64242
32170/* 64233*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
32171 MVT::v2i64, 3/*#Ops*/, 1, 2, 0,
32172 // Src: (vselect:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2) - Complexity = 3
32173 // Dst: (BITSELECT:{ *:[v2i64] } ?:{ *:[v2i64] }:$v1, ?:{ *:[v2i64] }:$v2, ?:{ *:[v2i64] }:$c)
32174/* 64242*/ /*SwitchType*/ 9, MVT::v4f32,// ->64253
32175/* 64244*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
32176 MVT::v4f32, 3/*#Ops*/, 1, 2, 0,
32177 // Src: (vselect:{ *:[v4f32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4f32] }:$v1, V128:{ *:[v4f32] }:$v2) - Complexity = 3
32178 // Dst: (BITSELECT:{ *:[v4f32] } ?:{ *:[v4f32] }:$v1, ?:{ *:[v4f32] }:$v2, ?:{ *:[v4i32] }:$c)
32179/* 64253*/ /*SwitchType*/ 9, MVT::v2f64,// ->64264
32180/* 64255*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT), 0,
32181 MVT::v2f64, 3/*#Ops*/, 1, 2, 0,
32182 // Src: (vselect:{ *:[v2f64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2f64] }:$v1, V128:{ *:[v2f64] }:$v2) - Complexity = 3
32183 // Dst: (BITSELECT:{ *:[v2f64] } ?:{ *:[v2f64] }:$v1, ?:{ *:[v2f64] }:$v2, ?:{ *:[v2i64] }:$c)
32184/* 64264*/ 0, // EndSwitchType
32185/* 64265*/ /*SwitchOpcode*/ 47, TARGET_VAL(ISD::ABS),// ->64315
32186/* 64268*/ OPC_RecordChild0, // #0 = $v
32187/* 64269*/ OPC_SwitchType /*4 cases */, 9, MVT::v16i8,// ->64281
32188/* 64272*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32189/* 64274*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ABS_I8x16), 0,
32190 MVT::v16i8, 1/*#Ops*/, 0,
32191 // Src: (abs:{ *:[v16i8] } V128:{ *:[v16i8] }:$v) - Complexity = 3
32192 // Dst: (ABS_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$v)
32193/* 64281*/ /*SwitchType*/ 9, MVT::v8i16,// ->64292
32194/* 64283*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32195/* 64285*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ABS_I16x8), 0,
32196 MVT::v8i16, 1/*#Ops*/, 0,
32197 // Src: (abs:{ *:[v8i16] } V128:{ *:[v8i16] }:$v) - Complexity = 3
32198 // Dst: (ABS_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$v)
32199/* 64292*/ /*SwitchType*/ 9, MVT::v4i32,// ->64303
32200/* 64294*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32201/* 64296*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ABS_I32x4), 0,
32202 MVT::v4i32, 1/*#Ops*/, 0,
32203 // Src: (abs:{ *:[v4i32] } V128:{ *:[v4i32] }:$v) - Complexity = 3
32204 // Dst: (ABS_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$v)
32205/* 64303*/ /*SwitchType*/ 9, MVT::v2i64,// ->64314
32206/* 64305*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32207/* 64307*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ABS_I64x2), 0,
32208 MVT::v2i64, 1/*#Ops*/, 0,
32209 // Src: (abs:{ *:[v2i64] } V128:{ *:[v2i64] }:$v) - Complexity = 3
32210 // Dst: (ABS_I64x2:{ *:[v2i64] } V128:{ *:[v2i64] }:$v)
32211/* 64314*/ 0, // EndSwitchType
32212/* 64315*/ /*SwitchOpcode*/ 52, TARGET_VAL(WebAssemblyISD::VEC_SHL),// ->64370
32213/* 64318*/ OPC_RecordChild0, // #0 = $vec
32214/* 64319*/ OPC_RecordChild1, // #1 = $x
32215/* 64320*/ OPC_SwitchType /*4 cases */, 10, MVT::v16i8,// ->64333
32216/* 64323*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32217/* 64325*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_I8x16), 0,
32218 MVT::v16i8, 2/*#Ops*/, 0, 1,
32219 // Src: (wasm_shl:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, I32:{ *:[i32] }:$x) - Complexity = 3
32220 // Dst: (SHL_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, I32:{ *:[i32] }:$x)
32221/* 64333*/ /*SwitchType*/ 10, MVT::v8i16,// ->64345
32222/* 64335*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32223/* 64337*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_I16x8), 0,
32224 MVT::v8i16, 2/*#Ops*/, 0, 1,
32225 // Src: (wasm_shl:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, I32:{ *:[i32] }:$x) - Complexity = 3
32226 // Dst: (SHL_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, I32:{ *:[i32] }:$x)
32227/* 64345*/ /*SwitchType*/ 10, MVT::v4i32,// ->64357
32228/* 64347*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32229/* 64349*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_I32x4), 0,
32230 MVT::v4i32, 2/*#Ops*/, 0, 1,
32231 // Src: (wasm_shl:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, I32:{ *:[i32] }:$x) - Complexity = 3
32232 // Dst: (SHL_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, I32:{ *:[i32] }:$x)
32233/* 64357*/ /*SwitchType*/ 10, MVT::v2i64,// ->64369
32234/* 64359*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32235/* 64361*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_I64x2), 0,
32236 MVT::v2i64, 2/*#Ops*/, 0, 1,
32237 // Src: (wasm_shl:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, I32:{ *:[i32] }:$x) - Complexity = 3
32238 // Dst: (SHL_I64x2:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, I32:{ *:[i32] }:$x)
32239/* 64369*/ 0, // EndSwitchType
32240/* 64370*/ /*SwitchOpcode*/ 52, TARGET_VAL(WebAssemblyISD::VEC_SHR_S),// ->64425
32241/* 64373*/ OPC_RecordChild0, // #0 = $vec
32242/* 64374*/ OPC_RecordChild1, // #1 = $x
32243/* 64375*/ OPC_SwitchType /*4 cases */, 10, MVT::v16i8,// ->64388
32244/* 64378*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32245/* 64380*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_I8x16), 0,
32246 MVT::v16i8, 2/*#Ops*/, 0, 1,
32247 // Src: (wasm_shr_s:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, I32:{ *:[i32] }:$x) - Complexity = 3
32248 // Dst: (SHR_S_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, I32:{ *:[i32] }:$x)
32249/* 64388*/ /*SwitchType*/ 10, MVT::v8i16,// ->64400
32250/* 64390*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32251/* 64392*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_I16x8), 0,
32252 MVT::v8i16, 2/*#Ops*/, 0, 1,
32253 // Src: (wasm_shr_s:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, I32:{ *:[i32] }:$x) - Complexity = 3
32254 // Dst: (SHR_S_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, I32:{ *:[i32] }:$x)
32255/* 64400*/ /*SwitchType*/ 10, MVT::v4i32,// ->64412
32256/* 64402*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32257/* 64404*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_I32x4), 0,
32258 MVT::v4i32, 2/*#Ops*/, 0, 1,
32259 // Src: (wasm_shr_s:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, I32:{ *:[i32] }:$x) - Complexity = 3
32260 // Dst: (SHR_S_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, I32:{ *:[i32] }:$x)
32261/* 64412*/ /*SwitchType*/ 10, MVT::v2i64,// ->64424
32262/* 64414*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32263/* 64416*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_I64x2), 0,
32264 MVT::v2i64, 2/*#Ops*/, 0, 1,
32265 // Src: (wasm_shr_s:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, I32:{ *:[i32] }:$x) - Complexity = 3
32266 // Dst: (SHR_S_I64x2:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, I32:{ *:[i32] }:$x)
32267/* 64424*/ 0, // EndSwitchType
32268/* 64425*/ /*SwitchOpcode*/ 28, TARGET_VAL(ISD::SADDSAT),// ->64456
32269/* 64428*/ OPC_RecordChild0, // #0 = $lhs
32270/* 64429*/ OPC_RecordChild1, // #1 = $rhs
32271/* 64430*/ OPC_SwitchType /*2 cases */, 10, MVT::v16i8,// ->64443
32272/* 64433*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32273/* 64435*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_SAT_S_I8x16), 0,
32274 MVT::v16i8, 2/*#Ops*/, 0, 1,
32275 // Src: (saddsat:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
32276 // Dst: (ADD_SAT_S_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
32277/* 64443*/ /*SwitchType*/ 10, MVT::v8i16,// ->64455
32278/* 64445*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32279/* 64447*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_SAT_S_I16x8), 0,
32280 MVT::v8i16, 2/*#Ops*/, 0, 1,
32281 // Src: (saddsat:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
32282 // Dst: (ADD_SAT_S_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
32283/* 64455*/ 0, // EndSwitchType
32284/* 64456*/ /*SwitchOpcode*/ 28, TARGET_VAL(ISD::UADDSAT),// ->64487
32285/* 64459*/ OPC_RecordChild0, // #0 = $lhs
32286/* 64460*/ OPC_RecordChild1, // #1 = $rhs
32287/* 64461*/ OPC_SwitchType /*2 cases */, 10, MVT::v16i8,// ->64474
32288/* 64464*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32289/* 64466*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_SAT_U_I8x16), 0,
32290 MVT::v16i8, 2/*#Ops*/, 0, 1,
32291 // Src: (uaddsat:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
32292 // Dst: (ADD_SAT_U_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
32293/* 64474*/ /*SwitchType*/ 10, MVT::v8i16,// ->64486
32294/* 64476*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32295/* 64478*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_SAT_U_I16x8), 0,
32296 MVT::v8i16, 2/*#Ops*/, 0, 1,
32297 // Src: (uaddsat:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
32298 // Dst: (ADD_SAT_U_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
32299/* 64486*/ 0, // EndSwitchType
32300/* 64487*/ /*SwitchOpcode*/ 40, TARGET_VAL(ISD::SMIN),// ->64530
32301/* 64490*/ OPC_RecordChild0, // #0 = $lhs
32302/* 64491*/ OPC_RecordChild1, // #1 = $rhs
32303/* 64492*/ OPC_SwitchType /*3 cases */, 10, MVT::v16i8,// ->64505
32304/* 64495*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32305/* 64497*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_S_I8x16), 0,
32306 MVT::v16i8, 2/*#Ops*/, 0, 1,
32307 // Src: (smin:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
32308 // Dst: (MIN_S_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
32309/* 64505*/ /*SwitchType*/ 10, MVT::v8i16,// ->64517
32310/* 64507*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32311/* 64509*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_S_I16x8), 0,
32312 MVT::v8i16, 2/*#Ops*/, 0, 1,
32313 // Src: (smin:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
32314 // Dst: (MIN_S_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
32315/* 64517*/ /*SwitchType*/ 10, MVT::v4i32,// ->64529
32316/* 64519*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32317/* 64521*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_S_I32x4), 0,
32318 MVT::v4i32, 2/*#Ops*/, 0, 1,
32319 // Src: (smin:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
32320 // Dst: (MIN_S_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
32321/* 64529*/ 0, // EndSwitchType
32322/* 64530*/ /*SwitchOpcode*/ 40, TARGET_VAL(ISD::UMIN),// ->64573
32323/* 64533*/ OPC_RecordChild0, // #0 = $lhs
32324/* 64534*/ OPC_RecordChild1, // #1 = $rhs
32325/* 64535*/ OPC_SwitchType /*3 cases */, 10, MVT::v16i8,// ->64548
32326/* 64538*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32327/* 64540*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_U_I8x16), 0,
32328 MVT::v16i8, 2/*#Ops*/, 0, 1,
32329 // Src: (umin:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
32330 // Dst: (MIN_U_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
32331/* 64548*/ /*SwitchType*/ 10, MVT::v8i16,// ->64560
32332/* 64550*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32333/* 64552*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_U_I16x8), 0,
32334 MVT::v8i16, 2/*#Ops*/, 0, 1,
32335 // Src: (umin:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
32336 // Dst: (MIN_U_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
32337/* 64560*/ /*SwitchType*/ 10, MVT::v4i32,// ->64572
32338/* 64562*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32339/* 64564*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_U_I32x4), 0,
32340 MVT::v4i32, 2/*#Ops*/, 0, 1,
32341 // Src: (umin:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
32342 // Dst: (MIN_U_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
32343/* 64572*/ 0, // EndSwitchType
32344/* 64573*/ /*SwitchOpcode*/ 40, TARGET_VAL(ISD::SMAX),// ->64616
32345/* 64576*/ OPC_RecordChild0, // #0 = $lhs
32346/* 64577*/ OPC_RecordChild1, // #1 = $rhs
32347/* 64578*/ OPC_SwitchType /*3 cases */, 10, MVT::v16i8,// ->64591
32348/* 64581*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32349/* 64583*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_S_I8x16), 0,
32350 MVT::v16i8, 2/*#Ops*/, 0, 1,
32351 // Src: (smax:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
32352 // Dst: (MAX_S_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
32353/* 64591*/ /*SwitchType*/ 10, MVT::v8i16,// ->64603
32354/* 64593*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32355/* 64595*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_S_I16x8), 0,
32356 MVT::v8i16, 2/*#Ops*/, 0, 1,
32357 // Src: (smax:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
32358 // Dst: (MAX_S_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
32359/* 64603*/ /*SwitchType*/ 10, MVT::v4i32,// ->64615
32360/* 64605*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32361/* 64607*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_S_I32x4), 0,
32362 MVT::v4i32, 2/*#Ops*/, 0, 1,
32363 // Src: (smax:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
32364 // Dst: (MAX_S_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
32365/* 64615*/ 0, // EndSwitchType
32366/* 64616*/ /*SwitchOpcode*/ 40, TARGET_VAL(ISD::UMAX),// ->64659
32367/* 64619*/ OPC_RecordChild0, // #0 = $lhs
32368/* 64620*/ OPC_RecordChild1, // #1 = $rhs
32369/* 64621*/ OPC_SwitchType /*3 cases */, 10, MVT::v16i8,// ->64634
32370/* 64624*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32371/* 64626*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_U_I8x16), 0,
32372 MVT::v16i8, 2/*#Ops*/, 0, 1,
32373 // Src: (umax:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
32374 // Dst: (MAX_U_I8x16:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
32375/* 64634*/ /*SwitchType*/ 10, MVT::v8i16,// ->64646
32376/* 64636*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32377/* 64638*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_U_I16x8), 0,
32378 MVT::v8i16, 2/*#Ops*/, 0, 1,
32379 // Src: (umax:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
32380 // Dst: (MAX_U_I16x8:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
32381/* 64646*/ /*SwitchType*/ 10, MVT::v4i32,// ->64658
32382/* 64648*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32383/* 64650*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_U_I32x4), 0,
32384 MVT::v4i32, 2/*#Ops*/, 0, 1,
32385 // Src: (umax:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
32386 // Dst: (MAX_U_I32x4:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
32387/* 64658*/ 0, // EndSwitchType
32388/* 64659*/ /*SwitchOpcode*/ 29, TARGET_VAL(WebAssemblyISD::WIDEN_LOW_S),// ->64691
32389/* 64662*/ OPC_RecordChild0, // #0 = $vec
32390/* 64663*/ OPC_SwitchType /*2 cases */, 11, MVT::v8i16,// ->64677
32391/* 64666*/ OPC_CheckChild0Type, MVT::v16i8,
32392/* 64668*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32393/* 64670*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::widen_low_s_I16x8), 0,
32394 MVT::v8i16, 1/*#Ops*/, 0,
32395 // Src: (widen_low_s:{ *:[v8i16] } V128:{ *:[v16i8] }:$vec) - Complexity = 3
32396 // Dst: (widen_low_s_I16x8:{ *:[v8i16] } V128:{ *:[v16i8] }:$vec)
32397/* 64677*/ /*SwitchType*/ 11, MVT::v4i32,// ->64690
32398/* 64679*/ OPC_CheckChild0Type, MVT::v8i16,
32399/* 64681*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32400/* 64683*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::widen_low_s_I32x4), 0,
32401 MVT::v4i32, 1/*#Ops*/, 0,
32402 // Src: (widen_low_s:{ *:[v4i32] } V128:{ *:[v8i16] }:$vec) - Complexity = 3
32403 // Dst: (widen_low_s_I32x4:{ *:[v4i32] } V128:{ *:[v8i16] }:$vec)
32404/* 64690*/ 0, // EndSwitchType
32405/* 64691*/ /*SwitchOpcode*/ 29, TARGET_VAL(WebAssemblyISD::WIDEN_HIGH_S),// ->64723
32406/* 64694*/ OPC_RecordChild0, // #0 = $vec
32407/* 64695*/ OPC_SwitchType /*2 cases */, 11, MVT::v8i16,// ->64709
32408/* 64698*/ OPC_CheckChild0Type, MVT::v16i8,
32409/* 64700*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32410/* 64702*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::widen_high_s_I16x8), 0,
32411 MVT::v8i16, 1/*#Ops*/, 0,
32412 // Src: (widen_high_s:{ *:[v8i16] } V128:{ *:[v16i8] }:$vec) - Complexity = 3
32413 // Dst: (widen_high_s_I16x8:{ *:[v8i16] } V128:{ *:[v16i8] }:$vec)
32414/* 64709*/ /*SwitchType*/ 11, MVT::v4i32,// ->64722
32415/* 64711*/ OPC_CheckChild0Type, MVT::v8i16,
32416/* 64713*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32417/* 64715*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::widen_high_s_I32x4), 0,
32418 MVT::v4i32, 1/*#Ops*/, 0,
32419 // Src: (widen_high_s:{ *:[v4i32] } V128:{ *:[v8i16] }:$vec) - Complexity = 3
32420 // Dst: (widen_high_s_I32x4:{ *:[v4i32] } V128:{ *:[v8i16] }:$vec)
32421/* 64722*/ 0, // EndSwitchType
32422/* 64723*/ /*SwitchOpcode*/ 29, TARGET_VAL(WebAssemblyISD::WIDEN_LOW_U),// ->64755
32423/* 64726*/ OPC_RecordChild0, // #0 = $vec
32424/* 64727*/ OPC_SwitchType /*2 cases */, 11, MVT::v8i16,// ->64741
32425/* 64730*/ OPC_CheckChild0Type, MVT::v16i8,
32426/* 64732*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32427/* 64734*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::widen_low_u_I16x8), 0,
32428 MVT::v8i16, 1/*#Ops*/, 0,
32429 // Src: (widen_low_u:{ *:[v8i16] } V128:{ *:[v16i8] }:$vec) - Complexity = 3
32430 // Dst: (widen_low_u_I16x8:{ *:[v8i16] } V128:{ *:[v16i8] }:$vec)
32431/* 64741*/ /*SwitchType*/ 11, MVT::v4i32,// ->64754
32432/* 64743*/ OPC_CheckChild0Type, MVT::v8i16,
32433/* 64745*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32434/* 64747*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::widen_low_u_I32x4), 0,
32435 MVT::v4i32, 1/*#Ops*/, 0,
32436 // Src: (widen_low_u:{ *:[v4i32] } V128:{ *:[v8i16] }:$vec) - Complexity = 3
32437 // Dst: (widen_low_u_I32x4:{ *:[v4i32] } V128:{ *:[v8i16] }:$vec)
32438/* 64754*/ 0, // EndSwitchType
32439/* 64755*/ /*SwitchOpcode*/ 29, TARGET_VAL(WebAssemblyISD::WIDEN_HIGH_U),// ->64787
32440/* 64758*/ OPC_RecordChild0, // #0 = $vec
32441/* 64759*/ OPC_SwitchType /*2 cases */, 11, MVT::v8i16,// ->64773
32442/* 64762*/ OPC_CheckChild0Type, MVT::v16i8,
32443/* 64764*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32444/* 64766*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::widen_high_u_I16x8), 0,
32445 MVT::v8i16, 1/*#Ops*/, 0,
32446 // Src: (widen_high_u:{ *:[v8i16] } V128:{ *:[v16i8] }:$vec) - Complexity = 3
32447 // Dst: (widen_high_u_I16x8:{ *:[v8i16] } V128:{ *:[v16i8] }:$vec)
32448/* 64773*/ /*SwitchType*/ 11, MVT::v4i32,// ->64786
32449/* 64775*/ OPC_CheckChild0Type, MVT::v8i16,
32450/* 64777*/ OPC_CheckPatternPredicate, 8, // (Subtarget->hasSIMD128())
32451/* 64779*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::widen_high_u_I32x4), 0,
32452 MVT::v4i32, 1/*#Ops*/, 0,
32453 // Src: (widen_high_u:{ *:[v4i32] } V128:{ *:[v8i16] }:$vec) - Complexity = 3
32454 // Dst: (widen_high_u_I32x4:{ *:[v4i32] } V128:{ *:[v8i16] }:$vec)
32455/* 64786*/ 0, // EndSwitchType
32456/* 64787*/ 0, // EndSwitchOpcode
32457 0
32458 }; // Total Array size is 64789 bytes
32459
32460 // Opcode Histogram:
32461 // #OPC_Scope = 833
32462 // #OPC_RecordNode = 269
32463 // #OPC_RecordChild = 1543
32464 // #OPC_RecordMemRef = 183
32465 // #OPC_CaptureGlueInput = 1
32466 // #OPC_MoveChild = 1272
32467 // #OPC_MoveParent = 2025
32468 // #OPC_CheckSame = 12
32469 // #OPC_CheckChildSame = 69
32470 // #OPC_CheckPatternPredicate = 1816
32471 // #OPC_CheckPredicate = 1725
32472 // #OPC_CheckOpcode = 1121
32473 // #OPC_SwitchOpcode = 52
32474 // #OPC_CheckType = 606
32475 // #OPC_SwitchType = 402
32476 // #OPC_CheckChildType = 470
32477 // #OPC_CheckInteger = 22
32478 // #OPC_CheckChildInteger = 113
32479 // #OPC_CheckCondCode = 0
32480 // #OPC_CheckChild2CondCode = 138
32481 // #OPC_CheckValueType = 5
32482 // #OPC_CheckComplexPat = 0
32483 // #OPC_CheckAndImm = 156
32484 // #OPC_CheckOrImm = 0
32485 // #OPC_CheckImmAllOnesV = 60
32486 // #OPC_CheckImmAllZerosV = 1
32487 // #OPC_CheckFoldableChainNode = 152
32488 // #OPC_EmitInteger = 2584
32489 // #OPC_EmitStringInteger = 0
32490 // #OPC_EmitRegister = 0
32491 // #OPC_EmitConvertToTarget = 1105
32492 // #OPC_EmitMergeInputChains = 1599
32493 // #OPC_EmitCopyToReg = 0
32494 // #OPC_EmitNode = 730
32495 // #OPC_EmitNodeXForm = 0
32496 // #OPC_CompleteMatch = 30
32497 // #OPC_MorphNodeTo = 2240
32498
32499 #undef TARGET_VAL
32500 SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable));
32501}
32502#endif // GET_DAGISEL_BODY
32503
32504#ifdef GET_DAGISEL_DECL
32505bool CheckPatternPredicate(unsigned PredNo) const override;
32506#endif
32507#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
32508bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
32509#if DAGISEL_INLINE
32510 override
32511#endif
32512{
32513 switch (PredNo) {
32514 default: llvm_unreachable("Invalid predicate in table?");
32515 case 0: return (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics());
32516 case 1: return (Subtarget->hasAddr64()) && (Subtarget->hasAtomics());
32517 case 2: return (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent());
32518 case 3: return (Subtarget->hasAddr64()) && (Subtarget->hasAtomics()) && (!TM.isPositionIndependent());
32519 case 4: return (!Subtarget->hasAddr64());
32520 case 5: return (Subtarget->hasAddr64());
32521 case 6: return (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent());
32522 case 7: return (Subtarget->hasAddr64()) && (!TM.isPositionIndependent());
32523 case 8: return (Subtarget->hasSIMD128());
32524 case 9: return (Subtarget->hasExceptionHandling());
32525 case 10: return (Subtarget->hasReferenceTypes());
32526 case 11: return (Subtarget->hasSignExt());
32527 case 12: return (Subtarget->hasBulkMemory());
32528 case 13: return (!Subtarget->hasAddr64()) && (TM.isPositionIndependent());
32529 case 14: return (Subtarget->hasAddr64()) && (TM.isPositionIndependent());
32530 case 15: return (Subtarget->hasNontrappingFPToInt());
32531 case 16: return (!Subtarget->hasNontrappingFPToInt());
32532 case 17: return (Subtarget->hasUnimplementedSIMD128());
32533 }
32534}
32535#endif // GET_DAGISEL_BODY
32536
32537#ifdef GET_DAGISEL_DECL
32538bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
32539#endif
32540#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
32541bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
32542#if DAGISEL_INLINE
32543 override
32544#endif
32545{
32546 switch (PredNo) {
32547 default: llvm_unreachable("Invalid predicate in table?");
32548 case 0: {
32549 // Predicate_regPlusImm
32550 SDNode *N = Node;
32551 (void)N;
32552 return N->getFlags().hasNoUnsignedWrap();
32553 }
32554 case 1: {
32555 // Predicate_atomic_load_add_8
32556 // Predicate_atomic_load_sub_8
32557 // Predicate_atomic_load_and_8
32558 // Predicate_atomic_load_or_8
32559 // Predicate_atomic_load_xor_8
32560 // Predicate_atomic_swap_8
32561 // Predicate_atomic_load_8
32562 // Predicate_atomic_cmp_swap_8
32563 // Predicate_atomic_store_8
32564 // Predicate_sextloadi8
32565 // Predicate_zextloadi8
32566 // Predicate_extloadi8
32567 // Predicate_truncstorei8
32568 SDNode *N = Node;
32569 (void)N;
32570if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
32571return true;
32572
32573 }
32574 case 2: {
32575 // Predicate_atomic_load_add_16
32576 // Predicate_atomic_load_sub_16
32577 // Predicate_atomic_load_and_16
32578 // Predicate_atomic_load_or_16
32579 // Predicate_atomic_load_xor_16
32580 // Predicate_atomic_swap_16
32581 // Predicate_atomic_load_16
32582 // Predicate_atomic_cmp_swap_16
32583 // Predicate_atomic_store_16
32584 // Predicate_sextloadi16
32585 // Predicate_zextloadi16
32586 // Predicate_extloadi16
32587 // Predicate_truncstorei16
32588 SDNode *N = Node;
32589 (void)N;
32590if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
32591return true;
32592
32593 }
32594 case 3: {
32595 // Predicate_or_is_add
32596 SDNode *N = Node;
32597 (void)N;
32598
32599 if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(N->getOperand(1)))
32600 return CurDAG->MaskedValueIsZero(N->getOperand(0), CN->getAPIntValue());
32601
32602 KnownBits Known0 = CurDAG->computeKnownBits(N->getOperand(0), 0);
32603 KnownBits Known1 = CurDAG->computeKnownBits(N->getOperand(1), 0);
32604 return (~Known0.Zero & ~Known1.Zero) == 0;
32605
32606 }
32607 case 4: {
32608 // Predicate_LaneIdx16
32609 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
32610return 0 <= Imm && Imm < 16;
32611 }
32612 case 5: {
32613 // Predicate_LaneIdx8
32614 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
32615return 0 <= Imm && Imm < 8;
32616 }
32617 case 6: {
32618 // Predicate_atomic_cmp_swap_32
32619 // Predicate_atomic_load_add_32
32620 // Predicate_atomic_load_sub_32
32621 // Predicate_atomic_load_and_32
32622 // Predicate_atomic_load_or_32
32623 // Predicate_atomic_load_xor_32
32624 // Predicate_atomic_swap_32
32625 // Predicate_atomic_store_32
32626 // Predicate_sextloadi32
32627 // Predicate_zextloadi32
32628 // Predicate_extloadi32
32629 // Predicate_truncstorei32
32630 // Predicate_atomic_load_32
32631 SDNode *N = Node;
32632 (void)N;
32633if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
32634return true;
32635
32636 }
32637 case 7: {
32638 // Predicate_LaneIdx4
32639 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
32640return 0 <= Imm && Imm < 4;
32641 }
32642 case 8: {
32643 // Predicate_LaneIdx2
32644 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
32645return 0 <= Imm && Imm < 2;
32646 }
32647 case 9: {
32648 // Predicate_atomic_store_64
32649 // Predicate_atomic_load_64
32650 // Predicate_atomic_load_add_64
32651 // Predicate_atomic_load_sub_64
32652 // Predicate_atomic_load_and_64
32653 // Predicate_atomic_load_or_64
32654 // Predicate_atomic_load_xor_64
32655 // Predicate_atomic_swap_64
32656 // Predicate_atomic_cmp_swap_64
32657 SDNode *N = Node;
32658 (void)N;
32659if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i64) return false;
32660return true;
32661
32662 }
32663 case 10: {
32664 // Predicate_unindexedload
32665 SDNode *N = Node;
32666 (void)N;
32667if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
32668return true;
32669
32670 }
32671 case 11: {
32672 // Predicate_load
32673 SDNode *N = Node;
32674 (void)N;
32675if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
32676return true;
32677
32678 }
32679 case 12: {
32680 // Predicate_sextload
32681 SDNode *N = Node;
32682 (void)N;
32683if (cast<LoadSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) return false;
32684return true;
32685
32686 }
32687 case 13: {
32688 // Predicate_zextload
32689 SDNode *N = Node;
32690 (void)N;
32691if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
32692return true;
32693
32694 }
32695 case 14: {
32696 // Predicate_extload
32697 SDNode *N = Node;
32698 (void)N;
32699if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
32700return true;
32701
32702 }
32703 case 15: {
32704 // Predicate_sextloadvi8
32705 // Predicate_zextloadvi8
32706 // Predicate_extloadvi8
32707 SDNode *N = Node;
32708 (void)N;
32709if (cast<LoadSDNode>(N)->getMemoryVT().getScalarType() != MVT::i8) return false;
32710return true;
32711
32712 }
32713 case 16: {
32714 // Predicate_sextloadvi16
32715 // Predicate_zextloadvi16
32716 // Predicate_extloadvi16
32717 SDNode *N = Node;
32718 (void)N;
32719if (cast<LoadSDNode>(N)->getMemoryVT().getScalarType() != MVT::i16) return false;
32720return true;
32721
32722 }
32723 case 17: {
32724 // Predicate_sextloadvi32
32725 // Predicate_zextloadvi32
32726 // Predicate_extloadvi32
32727 SDNode *N = Node;
32728 (void)N;
32729if (cast<LoadSDNode>(N)->getMemoryVT().getScalarType() != MVT::i32) return false;
32730return true;
32731
32732 }
32733 case 18: {
32734 // Predicate_unindexedstore
32735 SDNode *N = Node;
32736 (void)N;
32737if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
32738return true;
32739
32740 }
32741 case 19: {
32742 // Predicate_store
32743 SDNode *N = Node;
32744 (void)N;
32745 if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
32746return true;
32747
32748 }
32749 case 20: {
32750 // Predicate_truncstore
32751 SDNode *N = Node;
32752 (void)N;
32753 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
32754return true;
32755
32756 }
32757 case 21: {
32758 // Predicate_truncstorevi8
32759 SDNode *N = Node;
32760 (void)N;
32761if (cast<StoreSDNode>(N)->getMemoryVT().getScalarType() != MVT::i8) return false;
32762return true;
32763
32764 }
32765 case 22: {
32766 // Predicate_truncstorevi16
32767 SDNode *N = Node;
32768 (void)N;
32769if (cast<StoreSDNode>(N)->getMemoryVT().getScalarType() != MVT::i16) return false;
32770return true;
32771
32772 }
32773 case 23: {
32774 // Predicate_add_nuw
32775 SDNode *N = Node;
32776 (void)N;
32777return N->getFlags().hasNoUnsignedWrap();
32778 }
32779 case 24: {
32780 // Predicate_ImmI8
32781 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
32782return -(1 << (8 - 1)) <= Imm && Imm < (1 << (8 - 1));
32783 }
32784 case 25: {
32785 // Predicate_ImmI16
32786 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
32787return -(1 << (16 - 1)) <= Imm && Imm < (1 << (16 - 1));
32788 }
32789 case 26: {
32790 // Predicate_LaneIdx32
32791 int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
32792return 0 <= Imm && Imm < 32;
32793 }
32794 }
32795}
32796#endif // GET_DAGISEL_BODY
32797
32798
32799#ifdef DAGISEL_INLINE
32800#undef DAGISEL_INLINE
32801#endif
32802#ifdef DAGISEL_CLASS_COLONCOLON
32803#undef DAGISEL_CLASS_COLONCOLON
32804#endif
32805#ifdef GET_DAGISEL_DECL
32806#undef GET_DAGISEL_DECL
32807#endif
32808#ifdef GET_DAGISEL_BODY
32809#undef GET_DAGISEL_BODY
32810#endif
32811